transposição matriz python e zip

Como obter a transposição dessa matriz ... Qualquer maneira mais fácil e algorítmica de fazer isso ...

1ª pergunta:

<code> Input  a=[[1,2,3],[4,5,6],[7,8,9]]
 Expected output a=[[1, 4, 7], [2, 5, 8], [3, 6, 9]] 
</code>

2ª pergunta:

Zip me dá o seguinte resultado dito abaixo, como posso zip quando eu não sei quantos elementos existem na matriz, neste caso eu sei 3 elementos a [0], a [1], a [2] mas como pode i zip a [n] elementos

<code> >>> zip(a[0],a[1],a[2])
 [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
</code>

questionAnswers(3)

yourAnswerToTheQuestion