Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung des Python-Beispiels zur Verwendung der Zip-Funktion zum gleichzeitigen Durchlaufen mehrerer Iteratoren

Ausführliche Erläuterung des Python-Beispiels zur Verwendung der Zip-Funktion zum gleichzeitigen Durchlaufen mehrerer Iteratoren

黄舟
黄舟Original
2016-12-15 09:17:041479Durchsuche

Vorwort

In diesem Artikel wird hauptsächlich vorgestellt, wie Python die Zip-Funktion verwendet, um mehrere Iteratoren gleichzeitig zu durchlaufen. Die Version in diesem Artikel ist Python3, und die Zip-Funktion ist eine integrierte Funktion von Python. Im Folgenden gibt es nicht viel zu sagen, schauen wir uns den detaillierten Inhalt an.

Anwendungsbeispiel

>>> list1 = ['a', 'b', 'c', 'd']
>>> list2 = ['apple', 'boy', 'cat', 'dog']
>>> for x, y in zip(list1, list2):
  print(x, 'is', y)
# 输出
a is apple
b is boy
c is cat
d is dog

Dies ist eine sehr einfache Möglichkeit, zwei Listen gleichzeitig zu durchlaufen, sehr pythonisch! ! !

Prinzipbeschreibung

Die Zip-Funktion in Python3 kann zwei oder mehr Iteratoren in einen Generator kapseln. Dieser Zip-Generator extrahiert Daten aus jedem Iterator. Ruft den nächsten Wert dieses Iterators ab und setzt ihn zusammen diese Werte in ein Tupel. Auf diese Weise durchläuft die Zip-Funktion mehrere Iteratoren parallel.

Hinweis

Wenn die Länge der Eingabeiteratoren unterschiedlich ist, generiert zip keine Tupel mehr, solange ein Iterator durchlaufen wird, und zip wird vorzeitig beendet, was möglicherweise der Fall ist zu unerwarteten Ergebnissen führen und nicht ignoriert werden können. Wenn Sie nicht sicher sind, ob die von zip gekapselten Listen gleich lang sind, können Sie verwenden Der Funktion zip_longest im integrierten Modul itertools ist es egal, ob ihre Längen gleich sind.

In Python2 ist zip kein Generator. Es durchläuft diese Iteratoren parallel, setzt Tupel zusammen und gibt die Liste der Tupel auf einmal vollständig zurück, was möglicherweise viel Speicher beansprucht und das Programm verursacht Wenn Sie einen Iterator mit einer großen Datenmenge in Python2 durchlaufen möchten, wird empfohlen, ihn zu verwenden. Die izip-Funktion im integrierten Modul itertools.

Zusammenfassung

Das Obige ist der gesamte Inhalt von Python, der die Zip-Funktion verwendet, um mehrere Iteratoren gleichzeitig zu durchlaufen. Ich hoffe, dass der Inhalt dieses Artikels jedem beim Lernen oder Arbeiten helfen kann. Wenn Sie Fragen haben, können Sie Nachrichten zur Kommunikation hinterlassen.

Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn