Ich könnte schwören, dass ich die Funktion (oder Methode) gesehen habe, die eine Liste wie diese akzeptiert [3, 7, 19] und macht daraus eine iterierbare Liste von Tupeln, etwa so: [(0,3), (1,7), (2,19)] es zu verwenden statt:
for i in range(len(name_of_list)):
name_of_list[i] = something
aber ich kann mich nicht an den Namen erinnern und das Googeln von „Liste iterieren“ bringt nichts.
Vinko Vrsalovic
>>> a = [3,4,5,6]
>>> for i, val in enumerate(a):
... print i, val
...
0 3
1 4
2 5
3 6
>>>
PierreBdR
Ja, das wäre das enumerate Funktion! Oder genauer gesagt, Sie müssen Folgendes tun:
Manchmal stellen die Leute eine Frage, die sich auf die Frage bezieht, die sie wirklich wollen, ein anderes Mal sind sie etwas wahllos, was „am besten“ bedeutet.
– msw
7. Juni 2012 um 10:25
Und manchmal lesen die Leute nur die ersten eineinhalb Zeilen der Frage und nicht die ganze Frage. Wenn Sie am Ende der zweiten Zeile angelangt sind, sagt er, dass er sie stattdessen verwenden möchte for i in range(len(name_of_list)): Aus diesem Grund habe ich anstelle des im ersten Teil gezeigten Beispiels ein for bereitgestellt.
– Vinko Vrsalovic ♦
27. September 2012 um 9:29
@HumphreyBogart Weil Lauren Bacall es mag, ausführlicher zu sein.
– WestCoastProjects
25. Januar 2015 um 7:36 Uhr
S. Lott
Hier ist ein anderer, der das verwendet zip Funktion.
>>> a = [3, 7, 19]
>>> zip(range(len(a)), a)
[(0, 3), (1, 7), (2, 19)]
enumerate() ist meiner Meinung nach etwas eleganter.
– Nathan Fellman
7. September 2009 um 5:35
@Nathan: Aber zip() ist allgemeiner und funktioniert für beliebige Listenpaare, also ist es gut zu wissen.
– ShreevatsaR
12. Mai 2011 um 13:30 Uhr
zip können Sie die Werte umgekehrt eingeben, wenn dies zu einem klareren Gesamtalgorithmus führt.