Ich könnte schwören, dass ich die Funktion (oder Methode) gesehen habe, die eine Liste wie diese aufnimmt [3, 7, 19]
und sie in eine iterierbare Liste von Tupeln verwandelt, wie folgt: [(0,3), (1,7), (2,19)]
Verwenden Sie sie anstelle von:
for i in range(len(name_of_list)):
name_of_list[i] = something
aber ich kann mich nicht an den Namen erinnern und googeln "iterate list" bekommt nichts.
for i in range(len(name_of_list)):
ich ein Beispiel mit einem für anstelle des im ersten Teil gezeigten angegeben.Hier ist eine andere, die die
zip
Funktion verwendet.quelle
enumerate()
ist ein bisschen eleganter, denke ich.Hier ist es eine Lösung mit Kartenfunktion:
Und eine Lösung mit Listenverständnis:
quelle
Die Python-
enumerate
Funktion wird Ihren Anforderungen gerechtAusgabe
quelle
Wenn Sie mehrere Listen haben, können Sie diese kombinieren
Ausgabe:enumerate
undzip
:Beachten Sie, dass nachher eine Klammer erforderlich ist
i
. Andernfalls erhalten Sie die Fehlermeldung:ValueError: need more than 2 values to unpack
quelle