ich eine Liste der Liste in eine Liste von Tupeln zu formatieren müssen, das gewünschte Ergebnis ist:Add-Wert in Tupel (zip() innerhalb for-Schleife) in Python
>>A = [[1, 2, 3]]
>>A.append([1, 2, 3])
>>A.append([1, 2, 3])
>>print A
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
Und meine gewünschte Ausgabe ist:
>>zip (A[0],A[1],A[2])
[(1, 1, 1), (2, 2, 2), (3, 3, 3)]
Nun stell dir vor, dass die Liste A sehr groß ist und ich kann nicht diesen Prozess tun eine kleine Zeile Code zu schreiben, wenn ich Schleife versuchen, die zip() Funktion das Ergebnis ist wie folgt:
>>print zip (A[0],a)
>>[(1, (1, 1, 1)), (2, (2, 2, 2)), (3, (3, 3, 3))]
Die böse Lösung, die ich kam war eine rekursive Schleife:
>>B = zip(A[0])
>>for idx,val in enumerate(A):
for idx1,val1 in enumerate(B):
B[idx1] = val1 + (A[idx][idx1],)
, dass das gewünschte Ergebnis liefert:
[(1, 1, 1, 1), (2, 2, 2, 2), (3, 3, 3, 3)]
Daher ist es ein richtiger/Reinigungsmittel/schneller Weg, um dieses Problem zu lösen ?
(Weil es ein eingebettetes Paket von Python ist ich nicht Pandas Mutter NumPy kann in einer frühen Version erlaubt ist)
Funktioniert wie ein Charme! Vielen Dank!! – fizcris