Iteratoren für aufeinanderfolgende Listenelementpaare
Bei einer gegebenen Liste von Elementen müssen Sie möglicherweise über aufeinanderfolgende Elementpaare in der Liste iterieren. Während es möglich ist, eine for-Schleife zu verwenden, um die Liste Element für Element zu durchlaufen und das darauf folgende Element manuell abzurufen, gibt es eine kompaktere und effizientere Möglichkeit, dies mithilfe von Python-Iteratoren zu erreichen.
Die zip()-Funktion
Pythons zip()-Funktion ist ein integrierter Iterator, der die Erstellung von Tupeln aus entsprechenden Elementen mehrerer Iterables ermöglicht. In diesem Fall können wir zip() verwenden, um Tupel aufeinanderfolgender Listenelemente zu erstellen. Zum Beispiel:
l = [1, 7, 3, 5] for first, second in zip(l, l[1:]): print(first, second)
Dieser Code gibt Folgendes aus:
1 7 7 3 3 5
Die zip()-Funktion benötigt zwei Argumente: Das erste ist die Originalliste und das zweite ist die Liste mit erstes Element entfernt (erreicht mit l[1:]). Anschließend kombiniert es entsprechende Elemente zu Tupeln und erstellt einen Iterator über diese Tupel.
Verwendung von itertools.izip()
Für Python 2-Benutzer bietet das itertools-Modul eine Alternative Funktion namens izip(). Diese Funktion ähnelt zip(), gibt jedoch ein izip-Objekt zurück, das langsam ausgewertet werden kann und keine Erstellung einer neuen Liste im Speicher erfordert. Es wird jedoch empfohlen, zip() in Python 3 zu verwenden, da es effizienter und einfacher zu verwenden ist.
Das obige ist der detaillierte Inhalt vonWie iteriere ich über aufeinanderfolgende Elementpaare in einer Python-Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!