Mitme jada samaaegne läbimine Pythonis

Mitme jada samaaegseks läbimiseks saab kasutada funktsiooni zip. Sel juhul kuvatakse kõik jadade elemendid kujul ennikud, mis koosnevad samale indeksile vastavatest elementidest.

Näide

Olgu meil kaks loendit:

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

Väljastame nende elemendid paarikaupa:

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

Koodi täitmise tulemus:

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

Näide

Läbida saab ka erinevat tüüpi jadasid. Lähme läbi for-tsükliga ja funktsiooniga zip hulga ja enniku:

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

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

Koodi täitmise tulemus:

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

Näide

Kui ühe jada pikkus on teisest suurem, siis läbitakse need väiksema jada elementide arvu järgi:

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

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

Koodi täitmise tulemus:

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

Näide

Funktsiooniga zip saab läbida ka kolm jada. Selleks loetleme funktsiooni parameetrites kõik need komadega eraldatult:

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

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

Koodi täitmise tulemus:

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

Praktilised ülesanded

Задание 1

Antud kaks loendit:

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

Väljastage nende elemendid paarikaupa enniku kujul.

Задание 2

Antud kaks loendit:

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

Saage neist järgmine loend:

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

Antud kolm loendit:

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

Liida kokku vastavad nende loendite elemendid ja kirjuta tulemus uude loendisse. Liitmine toimub järgmisel põhimõttel:

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