python多维列表操作

python多维列表操作,python,Python,我有一张单子 a = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] 我想把它转换成 a = [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]] 我如何才能做到这一点?尝试使用,并使用*a来: a = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] print zip(*a) >>> [(1, 4, 7, 10), (2, 5, 8, 11

我有一张单子

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
我想把它转换成

a = [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
我如何才能做到这一点?

尝试使用,并使用
*a

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
print zip(*a)
>>> [(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)]
如果需要列表而不是元组:

print map(list, zip(*a))
>>> [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
使用
zip

print zip(*a)
如果确实需要列表列表,而不是元组列表:

[list(x) for x in zip(*a)]
将实现这一技巧(作为奖励,这在python2.x和python3.x上同样有效)

非常密切相关: