2013-10-20 83 views

回答

5

是,使用zip()

transposed = zip(*matrix) 

*matrixmatrix中的所有嵌套列表作为单独的a应用对zip()函数的参数,就像输入zip(matrix[0], matrix[1], matrix[2])一样; zip()以每列作为输入序列并输出新序列

演示:

>>> matrix = [['a0', 'b0', 'c0'], ['a1', 'b1', 'c1'], ['a2', 'b2', 'b2']] 
>>> zip(*matrix) 
[('a0', 'a1', 'a2'), ('b0', 'b1', 'b2'), ('c0', 'c1', 'b2')] 

输出使用嵌套元组;

map(list, zip(*matrix)) 

[list(t) for t in zip(*matrix)] 
:如果您需要嵌套列表,用事实后,他们变换