Heim >Backend-Entwicklung >Python-Tutorial >Wie iteriere ich in Python parallel durch zwei Listen?

Wie iteriere ich in Python parallel durch zwei Listen?

DDD
DDDOriginal
2024-12-22 11:28:10134Durchsuche

How Do I Iterate Through Two Lists in Parallel in Python?

So durchlaufen Sie zwei Listen parallel

Bei zwei Listen besteht eine häufige Aufgabe darin, sie paarweise zu durchlaufen. Das Iterieren über Indizes ist zwar ein praktikabler Ansatz, aber möglicherweise nicht die pythonischste Lösung.

Python 3-Lösung

In Python 3 gibt die Funktion zip() einen Iterator von Tupeln zurück und erstellt so eine effiziente und prägnante Möglichkeit, mehrere Iterables parallel zu durchlaufen. Die Syntax lautet:

for element_1, element_2 in zip(iterable_1, iterable_2):
    ...
for f, b in zip(foo, bar):
    print(f, b)

Python 2-Lösung

In Python 2 gibt zip() eine Liste von Tupeln zurück, was bei großen Datensätzen ineffizient sein kann. Um die Erstellung unnötiger temporärer Variablen zu vermeiden, sollten Sie stattdessen die Verwendung von itertools.izip() für einen Iterator in Betracht ziehen:

import itertools
for f, b in itertools.izip(foo, bar):
    print(f, b)

Falls gewünscht, kann itertools.izip_longest() zum Iterieren verwendet werden, bis beide Iterables erschöpft sind, wobei fehlende Elemente aufgefüllt werden Werte mit dem angegebenen Füllwert (oder standardmäßig Keine).

Schlüssel Punkte

  • Die zip()-Funktion kann mehrere Iterables gleichzeitig durchlaufen.
  • In Python 3 gibt zip() einen Iterator von Tupeln zurück.
  • In Python 2 , zip() gibt eine Liste von Tupeln zurück, während itertools.izip() und itertools.izip_longest() Iteratoren dafür bereitstellen Effizienz.

Das obige ist der detaillierte Inhalt vonWie iteriere ich in Python parallel durch zwei Listen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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