Funktsioon zip
Funktsioon zip loob iteraatori,
mis ühendab elementide järjestustest
(loendid, korteežid, hulgad). Funktsioon
tagastab iteraatori, kus kõik esimese ja
teise järjestuse elemendid ühendatakse
kokku järjekorras. Funktsiooni parameetris
määrame kõik meid huvitavad korteežid,
loendid, hulgad jne.
Süntaks
zip(esimene järjestus, teine järjestus jne)
Näide
Teeme funktsiooni zip abil
uue korteeži kahe algse põhjal:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Koodi täitmise tulemus:
(('a', 1), ('b', 2), ('c', 3))
Näide
Nüüd teeme funktsiooni zip abil
uue korteeži kahe loendi põhjal:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Koodi täitmise tulemus:
(('d', 4), ('e', 5), ('f', 6))
Näide
Loome korteeži kahest hulgast:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Koodi täitmise tulemus:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Näide
Nüüd loome korteeži kolmest hulgast:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Koodi täitmise tulemus:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Näide
Funktsiooni zip abil saab
korraga läbida mitut objekti.
Läbime näiteks kolm loendit:
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst3 = [7, 8, 9]
for el1, el2, el3 in zip(lst1, lst2, lst3):
print(el1, el2, el3)
Koodi täitmise tulemus:
1 4 7
2 5 8
3 6 9