2017-04-10 8 views
2

Python verwenden möchte ich konvertieren:Merge-Listen innerhalb der Liste in Python

outputlist = [] 

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

Wie kann ich das tun?

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

es ergibt

[1,a,p] 

nicht die anderen Elemente. Ich brauche es für alle Gegenstände.

+0

Sind eine einzeilige Anweisung verwenden Sie erzwungener? – Gabrio

Antwort

6

Sie verwenden möchten zip:

Code:

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

print(zip(*lst)) 

Ergebnisse:

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

Danke Stephen.Es funktioniert –

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

zip() kehrt die Elemente als Tupel, verteile sie zu Listen, wenn das genau das ist, was du brauchst.

1

können Sie mit numpy versuchen:

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

Danke shizhz.It funktioniert –

+0

Froh, zu helfen :-) – shizhz

Verwandte Themen