In python 3 to transpose matrix = [[1,2,3], [4,5,6]]
we can do zip(*matrix)
but this returns an itterable.
So then I did list(zip(*matrix))
but this is a list wrapped around tuples not list of list.
So I used a map to get map(list, zip(*matrix))
which returns a map object not a list of lists like the original
Finally I did list(map(list, zip(*matrix)))
which gave me what I want, but surely there is a faster and cleaner way of doing this without NumPy