2014-01-31 62 views
0

我有一個列表蟒蛇多維列表操作

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]] 

我怎樣才能做到這一點?

+0

非常密切相關:http://stackoverflow.com/q/13367710/748858 – mgilson

回答

4

嘗試使用zip function,並使用*aunpack

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]] 
4

使用zip

print zip(*a) 

如果你真的想要的,而不是元組的列表,列表的列表,:

[list(x) for x in zip(*a)] 

會做的伎倆(和,作爲獎勵,這個數據與上python2.x和python3.x)