So verwenden Sie die Zip -Funktion in Python

So verwenden Sie die Zip -Funktion in Python
In diesem Artikel wird eine Anleitung zur „ZIP“ -Funktion in der Standardmodulbibliothek von Python behandelt. Mit dieser Methode können Sie Elemente mehrerer iterierbarer Objekte kombinieren und kombinieren. Sie können dann weitere Logik für diese Paare ausführen. In vielen Fällen ist die Verwendung einer „Zip“ -Funktion viel effizienter und sauberer als die Verwendung mehrerer, verschachtelter „für“ Loops.

Über ZIP -Funktion

Wie bereits erwähnt, wird die Funktion „ZIP“ verwendet, um Paare aus Elementen mehrerer iterierbarer Objekte zu erstellen. Betrachten Sie das folgende Beispiel, um die grundlegende Syntax und Verwendung der ZIP -Funktion zu verstehen:

list1 = ["a", "b", "c"]
list2 = ["Apple", "Ball", "Cat"]
Zipped = ZIP (LIST1, LIST2)
drucken (Liste (Reißverschluss))

Die ersten beiden Aussagen in der oben genannten Code -Probe definieren zwei Listen mit einigen Elementen. Als nächstes wird die „Zip“ -Funktion verwendet, indem die Variablen „List1“ und „List2“ als Argumente bestanden haben. Dies ist die Hauptsyntax der „Zip“ -Funktion. Sie müssen nur Listen oder andere gültige geordnete Iterables als Argumente übergeben, deren Elemente Sie kombinieren möchten. Zuletzt wird die Druckanweisung verwendet, um die Ausgabe der Variablen „Reißverschluss“ zu erhalten. Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:

[('A', 'Apfel'), ('B', 'Ball'), ('C', 'Cat')]]

Beachten Sie, dass die Funktion „ZIP“ ein Objekt vom Typ ZIP zurückgibt und keine Liste. Sie müssen es in einen iterbaren Typ konvertieren, wie in der obigen Druckanweisung gezeigt.

In einfachen Worten nimmt die Funktion „ZIP“ Elemente desselben Index aus zwei Listen auf und kombiniert sie als Paar in einem Tupel. Das 0. Element aus "list1" wird also mit dem 0. Element von "list2" kombiniert, das 1. Element von "List1" wird mit dem 1. Element von "List2" und so weiter kombiniert. Die Zip -Funktion bewegt sich von links nach rechts und das Tupel mit gepaarten Elementen hat den gleichen Index wie die darin gespeicherten Elemente.

Verwenden Sie Reißverschlüsse, wenn iterables nicht die gleiche Anzahl von Elementen aufweist

In dem oben angegebenen Beispiel haben beide Listen die gleiche Anzahl von Elementen. Falls Sie es mit einem Code zu tun haben, in dem beide Listen nicht die gleiche Anzahl von Elementen haben, wird die „ZIP“ -Funktion am letzten Element der Liste stehen, die die niedrigste Anzahl von Elementen haben.

Im folgenden Beispiel wird die Funktion „ZIP“ im Element „C“ angehalten, unabhängig von "List2" mit einem weiteren Element.

list1 = ["a", "b", "c"]
list2 = ["Apple", "Ball", "Katze", "Puppe"]
Zipped = ZIP (LIST1, LIST2)
drucken (Liste (Reißverschluss))

Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:

[('A', 'Apfel'), ('B', 'Ball'), ('C', 'Cat')]]

Sie können bei Verwendung der ZIP -Funktion mehr als zwei iterable verwenden

Normalerweise wird die „Zip“ -Funktion verwendet, um zwei iterable Objekte zu vergleichen. Sie können jedoch eine beliebige Anzahl von iTerables als Argumente an die „ZIP“ -Funktion übergeben. Das Prinzip des Anhaltens beim letzten Element der kürzesten Liste ist noch anwendbar.

list1 = ["a", "b", "c"]
list2 = ["Apple", "Ball", "Katze", "Puppe"]
list3 = ["5", "3"]
Zipped = ZIP (List1, List2, List3)
drucken (Liste (Reißverschluss))

Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe als Ergebnis erhalten:

[('A', 'Apple', '5'), ('B', 'Ball', '3')]

Erstellen einzelner Listen aus einem Objekt vom ZIP -Typ

Wenn Sie bereits über ein Zip -Objekt verfügen, können Sie es verwenden, um einzelne Listen neu zu bevölkern, die früher verwendet wurden, wenn die Zip -Funktion zum ersten Mal aufgerufen wurde.

list1 = ["a", "b", "c"]
list2 = ["Apple", "Ball", "Katze", "Puppe"]
list3 = ["5", "3"]
Zipped = ZIP (List1, List2, List3)
L1, L2, L3 = ZIP (*Reißverschluss)
Print (Liste (L1), Liste (L2), Liste (L3))

Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe als Ergebnis erhalten:

['A', 'B'] ['Apple', 'Ball'] ['5', '3']

In der obigen Code -Probe wird das "Zip" -Objekt mit dem "*" -Operator entleert. Deflatte Ergebnisse werden dann in einen anderen Aufruf zur ZIP -Funktion eingeführt, der Originallisten erstellt. Beachten Sie, dass Sie möglicherweise nicht alle Elemente in den Originallisten zurückholen, wenn Listen mit ungleicher Länge verwendet wurden, wenn das „Zip“ -Objekt zum ersten Mal erstellt wurde.

Verwenden Sie ZIP, wenn Sie Elemente vom am längsten iterierbaren Förderung verhindern möchten

In mehreren Beispielen haben Sie möglicherweise festgestellt. Was ist, wenn Sie möchten, dass es weiterhin iteriert, bis es das letzte Element der am längsten iterablen erreicht?

In einem solchen Fall müssen Sie die Methode „Zip_longst ()“ aus dem Python -Modul "Itertools" verwenden. Es funktioniert genauso wie die „Zip“.

Aus ITertools importieren Sie zip_longest
list1 = ["a", "b", "c"]
list2 = ["Apple", "Ball", "Katze", "Puppe"]
list3 = ["5", "3"]
zipped = zip_longest (list1, list2, list3)
drucken (Liste (Reißverschluss))

Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe als Ergebnis erhalten:

[('A', 'Apple', '5'), ('B', 'Ball', '3'), ('C', 'Katze', keine), (keine, 'puppe', keine) ]

Fehlende Werte werden als "Keine" -Typobjekte besiedelt. Sie können auch Ihren eigenen Wert liefern, um ein zusätzliches „FillValue“ -Argument an die Methode „Zip_longste“ zu übergeben.

Aus ITertools importieren Sie zip_longest
list1 = ["a", "b", "c"]
list2 = ["Apple", "Ball", "Katze", "Puppe"]
list3 = ["5", "3"]
zipped = zip_longest (list1, list2, list3, fillValue = "my_value")
drucken (Liste (Reißverschluss))

Nachdem Sie das oben erwähnte Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe als Ergebnis erhalten:

[('A', 'Apple', '5'), ('B', 'Ball', '3'), ('C', 'Katze', 'my_value'), ('my_value', 'Puppe ',' my_value ')]

Abschluss

Die Zip -Funktion kann unter Verwendung einiger Anweisungen für Schleifen und Bedingungen emuliert werden. Es hilft jedoch dabei, Code organisiert und sauberer zu halten, indem unnötige Ausführlichkeiten und sich wiederholende Aussagen entfernt werden.