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)!