This seems to be a good way to get the transpose of a matrix. But I'm not sure what exactly is happening when the * operator is invoked. Can someone unpack that?
>>> zip(*[[1,2,3], [4,5,6]])
[(1,4), (2,5), (3,6)]
This seems to be a good way to get the transpose of a matrix. But I'm not sure what exactly is happening when the * operator is invoked. Can someone unpack that?
>>> zip(*[[1,2,3], [4,5,6]])
[(1,4), (2,5), (3,6)]
The *
operator is used to unpack the values, when using that in the list of lists like - zip(*[[1,2,3], [4,5,6]])
, it unpacks the outer list, and hence the actual input to zip
function looks like - zip([1,2,3], [4,5,6])
. And when they get zipped you get the result - [(1,4), (2,5), (3,6)]