2017-04-10 343 views
2

使用Python我想轉換:合併名單列表內的蟒蛇

outputlist = [] 

list = [[1,2,3],[a,b,c],[p,q,r]] 
outputlist =[[1,a,p],[2,b,q],[3,c,r]] 

我該怎麼辦呢?

outputlist.append([li [0] for li in list ]) 

它產生

[1,a,p] 

沒有其他項目。我需要它的所有項目。

+0

您約束使用一個行指令? – Gabrio

回答

6

你想用zip

代碼:

lst = [[1,2,3],['a','b','c'],['p','q','r']] 

print(zip(*lst)) 

結果:

[(1, 'a', 'p'), (2, 'b', 'q'), (3, 'c', 'r')] 
+0

謝謝Stephen.It的作品 –

0
list = [[1,2,3],[a,b,c],[p,q,r]] 
outputlist = zip(*list) 

zip()返回元素元組,將它們轉換爲列表,如果這正是你所需要的。

1

您可以numpy嘗試:

>>> import numpy as np 
>>> l = [ [1,2,3],['a','b','c'],['p','q','r']] 
>>> np.array(l).T.tolist() 
[['1', 'a', 'p'], ['2', 'b', 'q'], ['3', 'c', 'r']] 
+0

謝謝shizhz.It的作品 –

+0

很高興幫助:-) – shizhz