Python - unbekannte Funktionen: zip

  Ralf Hersel   Lesezeit: 2 Minuten  🗪 1 Kommentar

Über mehrere Listen iterieren.

python - unbekannte funktionen: zip

Ihr ahnt es schon, das wird ein Lückenbüsser-Artikel, weil mir momentan nichts Besseres einfällt. Daher schreibe ich über nützliche Funktionen in Python, von denen man vielleicht schon einmal gehört hat, aber nicht so richtig weiss, was sie machen. Ich hätte auch eine Serie daraus machen können; lasse das aber aufgrund meiner laufenden Arch-Linux-Serie sein. In diesem Beitrag geht es um die Python-Funktion zip, mit der man gleichzeitig durch mehrere Listen iterieren kann.

Eine Liste in Python ist schnell erklärt: Es handelt sich um eine aufzählbare und iterierbare Menge von beliebigen Objekten. Was hier sehr programmiertechnisch klingt, erschliesst sich in ein paar Beispielen:

Ein Zahlenliste: zahlen = [1, 2, 3]
Ein Buchstabenliste: buchstaben = ['a', 'b', 'c']
Eine Wörterliste: woerter = ['Lioh', 'Tim', 'Ralf']

Über eine solche Liste kann man mit einer for-Schleife iterieren. Auch dazu ein Beispiel:

woerter = ['Lioh', 'Tim', 'Ralf']
for wort in woerter:
    print(wort)
Lioh
Tim
Ralf

Aber wie iteriert man über zwei (oder mehrere) Listen gleichzeitig? Dafür gibt es die Funktion zip, die die Elemente aus verschiedenen Listen zu Tupel (oder Tripel, usw.) in einem iterierbaren Objekt zusammenfasst. Auch dazu ein Beispiel:

vornamen = ['Lioh', 'Ralf', 'Tim']
nachnamen = ['Moeller', 'Hersel', 'Moritz']
for vorname, nachname in zip(vornamen, nachnamen):
    print(vorname, nachname)
Lioh Moeller
Ralf Hersel
Tim Moritz

Wie gesagt, das funktioniert auch mit mehr als zwei Listen. Falls die Listen unterschiedlich viele Elemente haben, verwendet zip die kleinste gemeinsame Anzahl. Hätte ich im oben gezeigten Beispiel einen weiteren Vornamen hinzugefügt, würde das Ergebnis genauso aussehen, da sich aus dem vierten Vornamen kein Tupel mit einem Nachnamen bilden lässt.

Falls ich wieder einmal keine gescheite Idee für einen Artikel habe, erkläre ich gerne die nächste unbekannte Python-Funktion; davon gibt es zur Genüge.

Tags

Python, zip, Funktion, Funktionen

kamome
Geschrieben von kamome am 31. Mai 2023 um 21:01

Danke, sehr lehrreich für (kaum) Gelegenheitspythonistas.