Wie iteriere ich parallel durch zwei Listen?
Sie können die zip()
-Funktion verwenden, um durch zwei Listen gleichzeitig zu iterieren. Die zip()
-Funktion nimmt zwei oder mehr Listen als Argumente entgegen und gibt einen Iterator zurück, der Tupel erzeugt, die die Elemente aus jeder Liste an entsprechenden Positionen enthalten. Hier ist ein Beispiel:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for item1, item2 in zip(list1, list2):
print(item1, item2)
# Ausgabe:
# 1 a
# 2 b
# 3 c
Alternativ können Sie auch itertools.zip_longest()
oder itertools.product()
je nach Anforderung verwenden.
itertools.zip_longest(iter1, iter2, fillvalue=None)
gibt einen Iterator von Tupeln zurück, wobei das i-te Tupel den i-ten Element aus jeder Argumentsequenz oder Iteratoren enthält. Der Iterator hört auf, sobald die kürzeste Eingabeiterable erschöpft ist.
itertools.product(*iterables, repeat=1)
gibt einen Iterator des kartesischen Produkts der Eingabeiterable zurück.