Verwenden der Python zip () -Funktion für die parallele Iteration

Verwenden der Python zip () -Funktion für die parallele Iteration

Diezip()-Funktion von Python erstellt einen Iterator, der Elemente aus zwei oder mehr Iterablen aggregiert. Mit dem resultierenden Iterator können Sie häufig auftretende Programmierprobleme wie das Erstellen vondictionaries schnell und konsistent lösen. In diesem Tutorial lernen Sie die Logik hinter der Pythonzip()-Funktion kennen und wie Sie sie zur Lösung realer Probleme verwenden können.

Am Ende dieses Tutorials erfahren Sie Folgendes:

  • Wiezip() sowohl in Python 3 als auch in Python 2 funktioniert

  • Verwendung der Pythonzip()-Funktion fürparallel iteration

  • Wie mancreate dictionaries im laufenden Betrieb mitzip() macht

Free Bonus:5 Thoughts On Python Mastery, ein kostenloser Kurs für Python-Entwickler, der Ihnen die Roadmap und die Denkweise zeigt, die Sie benötigen, um Ihre Python-Fähigkeiten auf die nächste Stufe zu bringen.

Grundlegendes zur Funktion von Pythonzip()

zip() ist inbuilt-in namespace verfügbar. Wenn Siedir() verwenden, um__builtins__ zu überprüfen, wirdzip() am Ende der Liste angezeigt:

>>>

>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', ..., 'zip']

Sie können sehen, dass'zip' der letzte Eintrag in der Liste der verfügbaren Objekte ist.

Gemäßofficial documentationverhält sich diezip()-Funktion von Python wie folgt:

Gibt einen Iterator von Tupeln zurück, wobei dasi-te Tupel dasi-te Element aus jeder der Argumentsequenzen oder Iterablen enthält. Der Iterator stoppt, wenn die kürzeste iterierbare Eingabe erschöpft ist. Mit einem einzelnen iterierbaren Argument wird ein Iterator von 1-Tupeln zurückgegeben. Ohne Argumente wird ein leerer Iterator zurückgegeben. (Source)

Sie werden diese Definition im weiteren Verlauf des Tutorials entpacken. Wenn Sie die Codebeispiele durcharbeiten, werden Sie feststellen, dass Python-Reißverschlussvorgänge genauso funktionieren wie der physische Reißverschluss an einer Tasche oder Jeans. Ineinandergreifende Zahnpaare auf beiden Seiten des Reißverschlusses werden zusammengezogen, um eine Öffnung zu schließen. Tatsächlich ist diese visuelle Analogie perfekt, umzip() zu verstehen, da die Funktion nach physischen Reißverschlüssen benannt wurde!

Verwenden vonzip() in Python

Diezip()-Funktion von Python ist alszip(*iterables) definiert. Die Funktion nimmtiterables als Argumente auf und gibtiterator zurück. Dieser Iterator generiert eine Reihe von Tupeln, die Elemente aus jeder Iterable enthalten. zip() kann jede Art von Iterable akzeptieren, z. B.files,lists, tuples,dictionaries,sets usw.

n Argumente übergeben

Wenn Siezip() mitn Argumenten verwenden, gibt die Funktion einen Iterator zurück, der Tupel der Längen generiert. Sehen Sie sich den folgenden Codeblock an, um dies in Aktion zu sehen:

>>>

>>> numbers = [1, 2, 3]
>>> letters = ['a', 'b', 'c']
>>> zipped = zip(numbers, letters)
>>> zipped  # Holds an iterator object

>>> type(zipped)

>>> list(zipped)
[(1, 'a'), (2, 'b'), (3, 'c')]

Hier verwenden Siezip(numbers, letters), um einen Iterator zu erstellen, der Tupel der Form(x, y) erzeugt. In diesem Fall werden diex-Werte vonnumbers und diey-Werte vonletters genommen. Beachten Sie, wie die Funktion Pythonzip()einen Iterator zurückgibt. Um das endgültige Listenobjekt abzurufen, müssen Sielist() verwenden, um den Iterator zu verwenden.

Wenn Sie mit Sequenzen wie Listen, Tupeln oderstringsarbeiten, werden Ihre Iterables garantiert von links nach rechts ausgewertet. Dies bedeutet, dass die resultierende Liste von Tupeln die Form[(numbers[0], letters[0]), (numbers[1], letters[1]),..., (numbers[n], letters[n])] hat. Bei anderen Arten von Iterables (wiesets) können jedoch einige seltsame Ergebnisse auftreten:

>>>

>>> s1 = {2, 3, 1}
>>> s2 = {'b', 'a', 'c'}
>>> list(zip(s1, s2))
[(1, 'a'), (2, 'c'), (3, 'b')]

In diesem Beispiel sinds1 unds2set Objekte, deren Elemente nicht in einer bestimmten Reihenfolge gehalten werden. Dies bedeutet, dass die vonzip() zurückgegebenen Tupel Elemente enthalten, die zufällig gepaart werden. Wenn Sie die Pythonzip()-Funktion mit ungeordneten iterablen Elementen wie Mengen verwenden möchten, sollten Sie dies berücksichtigen.

Keine Argumente übergeben

Sie könnenzip() auch ohne Argumente aufrufen. In diesem Fall erhalten Sie einfach einen leeren Iterator:

>>>

>>> zipped = zip()
>>> zipped

>>> list(zipped)
[]

Hier rufen Siezip() ohne Argumente auf, sodass Ihre Variablezippedeinen leeren Iterator enthält. Wenn Sie den Iterator mitlist() verwenden, wird auch eine leere Liste angezeigt.

Sie können auch versuchen, den leeren Iterator zu zwingen, ein Element direkt zu erhalten. In diesem Fall erhalten SieStopIterationexception:

>>>

>>> zipped = zip()
>>> next(zipped)
Traceback (most recent call last):
  File "", line 1, in 
StopIteration

Wenn Sienext() aufzipped aufrufen, versucht Python, das nächste Element abzurufen. Dazipped jedoch einen leeren Iterator enthält, muss nichts herausgezogen werden, sodass Python eine Ausnahme vonStopIterationauslöst.

Ein Argument übergeben

Diezip()-Funktion von Python kann ebenfalls nur ein Argument annehmen. Das Ergebnis ist ein Iterator, der eine Reihe von 1-Element-Tupeln ergibt:

>>>

>>> a = [1, 2, 3]
>>> zipped = zip(a)
>>> list(zipped)
[(1,), (2,), (3,)]

Dies mag nicht so nützlich sein, aber es funktioniert immer noch. Vielleicht finden Sie einige Anwendungsfälle für dieses Verhalten vonzip()!

Wie Sie sehen können, können Sie die Pythonzip()-Funktion mit so vielen Eingabe-Iterables aufrufen, wie Sie benötigen. Die Länge der resultierenden Tupel entspricht immer der Anzahl der Iterables, die Sie als Argumente übergeben. Hier ist ein Beispiel mit drei Iterablen:

>>>

>>> integers = [1, 2, 3]
>>> letters = ['a', 'b', 'c']
>>> floats = [4.0, 5.0, 6.0]
>>> zipped = zip(integers, letters, floats)  # Three input iterables
>>> list(zipped)
[(1, 'a', 4.0), (2, 'b', 5.0), (3, 'c', 6.0)]

Hier rufen Sie die Pythonzip()-Funktion mit drei Iterablen auf, sodass die resultierenden Tupel jeweils drei Elemente enthalten.

Argumente ungleicher Länge übergeben

Wenn Sie mit der Funktion Pythonzip()arbeiten, ist es wichtig, auf die Länge Ihrer Iterables zu achten. Es ist möglich, dass die Iterables, die Sie als Argumente übergeben, nicht dieselbe Länge haben.

In diesen Fällen entspricht die Anzahl der Elemente, diezip() ausgibt, der Länge der iterierbarenshortest. Die verbleibenden Elemente in längeren Iterables werden vonzip() vollständig ignoriert, wie Sie hier sehen können:

>>>

>>> list(zip(range(5), range(100)))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]

Da5 die Länge des ersten (und kürzesten)range()-Objekts ist, gibtzip() eine Liste von fünf Tupeln aus. Es gibt noch 95 nicht übereinstimmende Elemente aus dem zweitenrange()-Objekt. Diese werden alle vonzip() ignoriert, da keine Elemente mehr aus dem erstenrange()-Objekt vorhanden sind, um die Paare zu vervollständigen.

Wenn nachfolgende oder nicht übereinstimmende Werte für Sie wichtig sind, können Sieitertools.zip_longest() anstelle vonzip() verwenden. Mit dieser Funktion werden die fehlenden Werte durch alles ersetzt, was Sie an das Argumentfillvalueübergeben (standardmäßigNone). Die Iteration wird fortgesetzt, bis die längste Iteration erschöpft ist:

>>>

>>> from itertools import zip_longest
>>> numbers = [1, 2, 3]
>>> letters = ['a', 'b', 'c']
>>> longest = range(5)
>>> zipped = zip_longest(numbers, letters, longest, fillvalue='?')
>>> list(zipped)
[(1, 'a', 0), (2, 'b', 1), (3, 'c', 2), ('?', '?', 3), ('?', '?', 4)]

Hier verwenden Sieitertools.zip_longest(), um fünf Tupel mit Elementen ausletters,numbers undlongest zu erhalten. Die Iteration stoppt nur, wennlongest erschöpft ist. Die fehlenden Elemente ausnumbers undletters werden mit einem Fragezeichen? gefüllt, das Sie mitfillvalue angegeben haben.

Vergleichen vonzip() in Python 3 und 2

Diezip()-Funktion von Python funktioniert in beiden Sprachversionen unterschiedlich. In Python 2 gibtzip()list Tupel zurück. Das resultierendelist wird auf die Länge der kürzesten iterierbaren Eingabe abgeschnitten. Wenn Siezip() ohne Argumente aufrufen, erhalten Sie im Gegenzug ein leereslist:

>>>

>>> # Python 2
>>> zipped = zip(range(3), 'ABCD')
>>> zipped  # Hold a list object
[(0, 'A'), (1, 'B'), (2, 'C')]
>>> type(zipped)

>>> zipped = zip()  # Create an empty list
>>> zipped
[]

In diesem Fall gibt Ihr Aufruf der Pythonzip()-Funktion eine Liste von Tupeln zurück, die mit dem WertC abgeschnitten wurden. Wenn Siezip() ohne Argumente aufrufen, erhalten Sie ein leereslist.

In Python 3 gibtzip() jedochiterator zurück. Dieses Objekt liefert bei Bedarf Tupel und kann nur einmal durchlaufen werden. Die Iteration endet mit einerStopIteration-Ausnahme, sobald die kürzeste iterierbare Eingabe erschöpft ist. Wenn Siezip() keine Argumente geben, gibt die Funktion einen leeren Iterator zurück:

>>>

>>> # Python 3
>>> zipped = zip(range(3), 'ABCD')
>>> zipped  # Hold an iterator

>>> type(zipped)

>>> list(zipped)
[(0, 'A'), (1, 'B'), (2, 'C')]
>>> zipped = zip()  # Create an empty iterator
>>> zipped

>>> next(zipped)
Traceback (most recent call last):
  File "", line 1, in 
    next(zipped)
StopIteration

Hier gibt Ihr Aufruf vonzip() einen Iterator zurück. Die erste Iteration wird beiC abgeschnitten, und die zweite führt zu einer Ausnahme vonStopIteration. In Python 3 können Sie auch das Python 2-Verhalten vonzip() emulieren, indem Sie den zurückgegebenen Iterator in einen Aufruf vonlist() einschließen. Dies durchläuft den Iterator und gibt eine Liste von Tupeln zurück.

Wenn Sie regelmäßig Python 2 verwenden, beachten Sie, dass die Verwendung vonzip() mit langen iterativen Eingaben unbeabsichtigt viel Speicherplatz beanspruchen kann. In diesen Situationen sollten Sie stattdessenitertools.izip(*iterables) verwenden. Diese Funktion erstellt einen Iterator, der Elemente aus jeder der Iterablen aggregiert. Es erzeugt den gleichen Effekt wiezip() in Python 3:

>>>

>>> # Python 2
>>> from itertools import izip
>>> zipped = izip(range(3), 'ABCD')
>>> zipped

>>> list(zipped)
[(0, 'A'), (1, 'B'), (2, 'C')]

In diesem Beispiel rufen Sieitertools.izip() auf, um einen Iterator zu erstellen. Wenn Sie den zurückgegebenen Iterator mitlist() verwenden, erhalten Sie eine Liste mit Tupeln, als würden Siezip() in Python 3 verwenden. Die Iteration stoppt, wenn die kürzeste iterierbare Eingabe erschöpft ist.

Wenn Sie wirklich Code schreiben müssen, der sich in Python 2 und Python 3 gleich verhält, können Sie einen Trick wie den folgenden verwenden:

try:
    from itertools import izip as zip
except ImportError:
    pass

Wennizip() initertools verfügbar ist, wissen Sie, dass Sie sich in Python 2 befinden undizip() mit dem Aliaszip importiert werden. Andernfalls erhöht Ihr Programm einImportErrorund Sie wissen, dass Sie sich in Python 3 befinden. (Daspass statement hier ist nur ein Platzhalter.)

Mit diesem Trick können Sie die Pythonzip()-Funktion sicher im gesamten Code verwenden. Beim Ausführen wählt Ihr Programm automatisch die richtige Version aus und verwendet sie.

Bisher haben Sie die Funktionsweise derzip()-Funktion von Python behandelt und einige der wichtigsten Funktionen kennengelernt. Jetzt ist es an der Zeit, die Ärmel hochzukrempeln und Beispiele aus der Praxis zu programmieren!

Durchlaufen mehrerer Iterables

Das Durchlaufen mehrerer Iterables ist einer der häufigsten Anwendungsfälle für diezip()-Funktion von Python. Wenn Sie mehrere Listen, Tupel oder eine andere Sequenz durchlaufen müssen, greifen Sie wahrscheinlich aufzip()zurück. In diesem Abschnitt erfahren Sie, wie Siezip() verwenden, um mehrere Iterables gleichzeitig zu durchlaufen.

Paralleles Durchlaufen von Listen

Mit derzip()-Funktion von Python können Sie zwei oder mehr Iterables parallel durchlaufen. Dazip() Tupel generiert, können Sie diese im Header vonfor loop entpacken:

>>>

>>> letters = ['a', 'b', 'c']
>>> numbers = [0, 1, 2]
>>> for l, n in zip(letters, numbers):
...     print(f'Letter: {l}')
...     print(f'Number: {n}')
...
Letter: a
Number: 0
Letter: b
Number: 1
Letter: c
Number: 2

Hier durchlaufen Sie die vonzip() zurückgegebene Tupelreihe und entpacken die Elemente inl undn. Wenn Siezip(),for Schleifen undtuple unpacking kombinieren, können Sie eine nützliche undPythonic Redewendung erhalten, um zwei oder mehr Iterables gleichzeitig zu durchlaufen.

Sie können auch mehr als zwei Iterables in einer einzelnenfor-Schleife durchlaufen. Betrachten Sie das folgende Beispiel mit drei Eingabe-Iterablen:

>>>

>>> letters = ['a', 'b', 'c']
>>> numbers = [0, 1, 2]
>>> operators = ['*', '/', '+']
>>> for l, n, o in zip(letters, numbers, operators):
...     print(f'Letter: {l}')
...     print(f'Number: {n}')
...     print(f'Operator: {o}')
...
Letter: a
Number: 0
Operator: *
Letter: b
Number: 1
Operator: /
Letter: c
Number: 2
Operator: +

In diesem Beispiel verwenden Siezip() mit drei Iterablen, um einen Iterator zu erstellen und zurückzugeben, der Tupel mit drei Elementen generiert. Auf diese Weise können Sie alle drei Iterables auf einmal durchlaufen. Die Anzahl der Iterables, die Sie mit derzip()-Funktion von Python verwenden können, ist nicht beschränkt.

Note: Wenn Sie tiefer in die Pythonfor-Schleifen eintauchen möchten, lesen SiePython “for” Loops (Definite Iteration).

Paralleles Durchlaufen von Wörterbüchern

In Python 3.6 und höher sind Wörterbücherordered collections, dh sie behalten ihre Elemente in der Reihenfolge bei, in der sie eingeführt wurden. Wenn Sie diese Funktion nutzen, können Sie die Funktion Pythonzip()verwenden, um mehrere Wörterbücher auf sichere und kohärente Weise zu durchlaufen:

>>>

>>> dict_one = {'name': 'John', 'last_name': 'Doe', 'job': 'Python Consultant'}
>>> dict_two = {'name': 'Jane', 'last_name': 'Doe', 'job': 'Community Manager'}
>>> for (k1, v1), (k2, v2) in zip(dict_one.items(), dict_two.items()):
...     print(k1, '->', v1)
...     print(k2, '->', v2)
...
name -> John
name -> Jane
last_name -> Doe
last_name -> Doe
job -> Python Consultant
job -> Community Manager

Hier durchlaufen Siedict_one unddict_two parallel. In diesem Fall generiertzip() Tupel mit den Elementen aus beiden Wörterbüchern. Anschließend können Sie jedes Tupel auspacken und gleichzeitig auf die Elemente beider Wörterbücher zugreifen.

Note: Wenn Sie tiefer in die Wörterbuchiteration eintauchen möchten, lesen SieHow to Iterate Through a Dictionary in Python.

Beachten Sie, dass im obigen Beispiel die Auswertungsreihenfolge von links nach rechts garantiert ist. Sie können auch diezip()-Funktion von Python verwenden, um Sätze parallel zu durchlaufen. Sie müssen jedoch berücksichtigen, dassdon’t im Gegensatz zu Wörterbüchern in Python 3.6 ihre Elemente in der richtigen Reihenfolge halten. Wenn Sie dieses Detail vergessen, entspricht das Endergebnis Ihres Programms möglicherweise nicht ganz Ihren Wünschen oder Erwartungen.

Eine Sequenz entpacken

In Foren für neue Pythonisten taucht häufig die Frage auf: "Wenn es einezip()-Funktion gibt, warum gibt es dann keineunzip()-Funktion, die das Gegenteil bewirkt?"

Der Grund, warum es in Python keineunzip()-Funktion gibt, ist, dass das Gegenteil vonzip()… nun,zip() ist. Erinnern Sie sich, dass die Funktion von Pythonzip()wie ein echter Reißverschluss funktioniert? Die bisherigen Beispiele haben Ihnen gezeigt, wie Python die Dinge schließt. Wie entpacken Sie Python-Objekte?

Angenommen, Sie haben eine Liste von Tupeln und möchten die Elemente jedes Tupels in unabhängige Sequenzen unterteilen. Dazu können Siezip() zusammen mitunpacking operator * wie folgt verwenden:

>>>

>>> pairs = [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
>>> numbers, letters = zip(*pairs)
>>> numbers
(1, 2, 3, 4)
>>> letters
('a', 'b', 'c', 'd')

Hier haben Sielist von Tupeln, die gemischte Daten enthalten. Anschließend entpacken Sie die Daten mit dem Entpackungsoperator* und erstellen zwei verschiedene Listen (numbers undletters).

Parallel sortieren

Sorting ist eine übliche Operation bei der Programmierung. Angenommen, Sie möchten zwei Listen kombinieren und gleichzeitig sortieren. Dazu können Siezip() zusammen mit.sort() wie folgt verwenden:

>>>

>>> letters = ['b', 'a', 'd', 'c']
>>> numbers = [2, 4, 3, 1]
>>> data1 = list(zip(letters, numbers))
>>> data1
[('b', 2), ('a', 4), ('d', 3), ('c', 1)]
>>> data1.sort()  # Sort by letters
>>> data1
[('a', 4), ('b', 2), ('c', 1), ('d', 3)]
>>> data2 = list(zip(numbers, letters))
>>> data2
[(2, 'b'), (4, 'a'), (3, 'd'), (1, 'c')]
>>> data2.sort()  # Sort by numbers
>>> data2
[(1, 'c'), (2, 'b'), (3, 'd'), (4, 'a')]

In diesem Beispiel kombinieren Sie zuerst zwei Listen mitzip() und sortieren sie. Beachten Sie, wiedata1 nachletters unddata2 nachnumbers sortiert sind.

Sie können auchsorted() undzip() zusammen verwenden, um ein ähnliches Ergebnis zu erzielen:

>>>

>>> letters = ['b', 'a', 'd', 'c']
>>> numbers = [2, 4, 3, 1]
>>> data = sorted(zip(letters, numbers))  # Sort by letters
>>> data
[('a', 4), ('b', 2), ('c', 1), ('d', 3)]

In diesem Fall durchläuftsorted() den vonzip() generierten Iterator und sortiert die Elemente auf einmal nachletters. Dieser Ansatz kann etwas schneller sein, da Sie nur zwei Funktionsaufrufe benötigen:zip() undsorted().

Mitsorted() schreiben Sie auch einen allgemeineren Code. Auf diese Weise können Sie jede Art von Sequenz sortieren, nicht nur Listen.

Rechnen in Paaren

Sie können die Funktion Pythonzip()verwenden, um schnelle Berechnungen durchzuführen. Angenommen, Sie haben die folgenden Daten in einer Tabelle:

Element/Month Januar Februar März

Gesamtumsatz

52.000,00

51.000,00

48.000,00

Produktionskosten

46.800,00

45.900,00

43.200,00

Sie werden diese Daten verwenden, um Ihren monatlichen Gewinn zu berechnen. zip() bietet Ihnen eine schnelle Möglichkeit, die Berechnungen durchzuführen:

>>>

>>> total_sales = [52000.00, 51000.00, 48000.00]
>>> prod_cost = [46800.00, 45900.00, 43200.00]
>>> for sales, costs in zip(total_sales, prod_cost):
...     profit = sales - costs
...     print(f'Total profit: {profit}')
...
Total profit: 5200.0
Total profit: 5100.0
Total profit: 4800.0

Hier berechnen Sie den Gewinn für jeden Monat, indem Siecosts vonsales abziehen. Diezip()-Funktion von Python kombiniert die richtigen Datenpaare, um die Berechnungen durchzuführen. Sie können diese Logik verallgemeinern, um jede Art von komplexer Berechnung mit den vonzip() zurückgegebenen Paaren durchzuführen.

Wörterbücher erstellen

Pythonsdictionariesind eine sehr nützliche Datenstruktur. Manchmal müssen Sie möglicherweise ein Wörterbuch aus zwei verschiedenen, aber eng verwandten Sequenzen erstellen. Ein bequemer Weg, dies zu erreichen, besteht darin,dict() undzip() zusammen zu verwenden. Angenommen, Sie haben die Daten einer Person aus einem Formular oder einer Datenbank abgerufen. Jetzt haben Sie folgende Datenlisten:

>>>

>>> fields = ['name', 'last_name', 'age', 'job']
>>> values = ['John', 'Doe', '45', 'Python Developer']

Mit diesen Daten müssen Sie ein Wörterbuch für die weitere Verarbeitung erstellen. In diesem Fall können Siedict() zusammen mitzip() wie folgt verwenden:

>>>

>>> a_dict = dict(zip(fields, values))
>>> a_dict
{'name': 'John', 'last_name': 'Doe', 'age': '45', 'job': 'Python Developer'}

Hier erstellen Sie ein Wörterbuch, das die beiden Listen kombiniert. zip(fields, values) gibt einen Iterator zurück, der Tupel mit zwei Elementen generiert. Wenn Siedict() auf diesem Iterator aufrufen, erstellen Sie das gewünschte Wörterbuch. Die Elemente vonfields werden zu den Schlüsseln des Wörterbuchs, und die Elemente vonvalues repräsentieren die Werte im Wörterbuch.

Sie können ein vorhandenes Wörterbuch auch aktualisieren, indem Siezip() mitdict.update() kombinieren. Angenommen, John ändert seinen Job und Sie müssen das Wörterbuch aktualisieren. Sie können Folgendes tun:

>>>

>>> new_job = ['Python Consultant']
>>> field = ['job']
>>> a_dict.update(zip(field, new_job))
>>> a_dict
{'name': 'John', 'last_name': 'Doe', 'age': '45', 'job': 'Python Consultant'}

Hier aktualisiertdict.update() das Wörterbuch mit dem Schlüsselwerttupel, das Sie mit derzip()-Funktion von Python erstellt haben. Mit dieser Technik können Sie den Wert vonjob leicht überschreiben.

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie diezip()-Funktion von Python verwenden. zip() können mehrere Iterables als Eingabe empfangen. Es gibt einen Iterator zurück, der aus jedem Argument Tupel mit gepaarten Elementen generieren kann. Der resultierende Iterator kann sehr nützlich sein, wenn Sie mehrere Iterables in einer einzigen Schleife verarbeiten und gleichzeitig einige Aktionen für ihre Elemente ausführen müssen.

Jetzt kannst du:

  • Use the zip() function in Python 3 und Python 2

  • Loop over multiple iterables und führen parallel verschiedene Aktionen für ihre Elemente aus

  • Create and update dictionaries im laufenden Betrieb, indem zwei Eingabe-Iterables zusammengezippt werden

Sie haben auch einige Beispiele codiert, die Sie als Ausgangspunkt für die Implementierung Ihrer eigenen Lösungen mit derzip()-Funktion von Python verwenden können. Sie können diese Beispiele jederzeit ändern, wenn Siezip() eingehend untersuchen!