Gleichzeitige Iteration über Sequenzen in Python

Um mehrere Sequenzen gleichzeitig zu durchlaufen, kann die Funktion zip verwendet werden. Dabei werden alle Elemente der Sequenzen in Form von Tupeln ausgegeben, die aus Elementen mit demselben Index bestehen.

Beispiel

Nehmen wir an, wir haben zwei Listen:

pythonlst1 = ['a', 'b', 'c']
lst2 = [1, 2, 3]

Lassen Sie uns ihre Elemente paarweise ausgeben:

pythonfor el in zip(lst1, lst2):
  print(el)

Ergebnis des ausgeführten Codes:

python('a', 1)
('b', 2)
('c', 3)

Beispiel

Durchlaufen kann man auch Sequenzen unterschiedlichen Typs. Lassen Sie uns eine Menge und ein Tupel durch die Schleife und die Funktion zip schicken:

pythonst = {'a', 'b', 'c'}
tlp = (1, 2, 3)

for el in zip(st, tlp):
  print(el)

Ergebnis des ausgeführten Codes:

python('a', 1)
('b', 2)
('c', 3)

Beispiel

Wenn die Länge einer Sequenz größer ist als die der zweiten, werden sie nur bis zur Länge der kürzeren durchlaufen:

pythonlst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = [1, 2, 3, 4]

for el in zip(lst1, lst2):
  print(el)

Ergebnis des ausgeführten Codes:

python('a', 1)
('b', 2)
('c', 3)
('d', 4)

Beispiel

Mit der Funktion zip kann man auch drei Sequenzen durchlaufen. Dazu werden sie im Parameter der Funktion alle durch Komma getrennt aufgelistet:

pythonlst1 = ['a1', 'b1', 'c1']
lst2 = ['a2', 'b2', 'c2']
lst3 = ['a3', 'b3', 'c3']

for el in zip(lst1, lst2, lst3):
  print(el)

Ergebnis des ausgeführten Codes:

python('a1', 'a2', 'a3')
('b1', 'b2', 'b3')
('c1', 'c2', 'c3')

Praktische Aufgaben

Задание 1

Gegeben sind zwei Listen:

pythontst1 = [1, 3, 5]
tst2 = [2, 4, 6]

Geben Sie ihre Elemente paarweise als Tupel aus.

Задание 2

Gegeben sind zwei Listen:

pythontst1 = ['a', 'b', 'c']
tst2 = ['d', 'e', 'f']

Erstellen Sie daraus die folgende Liste:

python['a', '1', 'b', '2', 'c', '3']
Задание 3

Gegeben sind drei Listen:

pythontst1 = [11, 12, 13, 14]
tst2 = [21, 22, 23, 24]
tst3 = [31, 32, 33, 34]

Addieren Sie die entsprechenden Elemente dieser Listen und schreiben Sie das Ergebnis in eine neue Liste. Die Addition erfolgt nach folgendem Prinzip:

python[
  11 + 21 + 31,
  12 + 22 + 32,
  13 + 23 + 33,
  14 + 24 + 34,
]