2017-04-10 2 views

Antwort

3

sollten Sie zip hier werden:

>>> lst =[[1,2,'a'],[3,4,'b'],[5,6,'c'],[7,8,'d']] 

# Python 2.7 
>>> result = zip(*lst) 
>>> result 
[(1, 3, 5, 7), (2, 4, 6, 8), ('a', 'b', 'c', 'd')] 

In Python 3+, zip kehrt Generator-Objekt. Um den Wert als list zu erhalten, müssen Sie explizit geben Guss als:

# In Python3+ 
>>> list(zip(*lst)) 
[(1, 3, 5, 7), (2, 4, 6, 8), ('a', 'b', 'c', 'd')] 
0
listLen,listElemLen = len(lst), len(lst[0]) 
res = [] 
for i in range(listElemLen): 
    temp = [] 
    for j in range(listLen): 
     temp.append(lst[j][i]) 
    res.append(temp) 
print(res) #[[1,3,5,7],[2,4,6,8],['a','b','c','d']] 
+0

Ich glaube, eine Vertiefung Fehler schlichen sich in Ihrem Code, wenn Sie es in die Antwort kopiert, 'res.append (temp) sollte außerhalb der inneren for-Schleife liegen. –

+0

@ juanpa.arrivillaga Ah. Ja. Danke, dass du es aufgezeigt hast. Bearbeitet. – Geetanjali

Verwandte Themen