Funkcija zip
Funkcija zip izveido iteratoru,
kas apvieno elementus no sekvencēm
(saraksti, korteži, kopas). Funkcija
atgriež iteratoru, kurā visi elementi no
pirmās un otrās sekvences tiek apvienoti
kopā pēc kārtas. Funkcijas parametros
mēs norādām visus mūs interesējošos kortežus,
sarakstus, kopas utt.
Sintakse
zip(pirmā sekvence, otrā sekvence utt.)
Piemērs
Izmantosim funkciju zip, lai izveidotu
jaunu kortežu, pamatojoties uz diviem esošajiem:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Koda izpildes rezultāts:
(('a', 1), ('b', 2), ('c', 3))
Piemērs
Tagad izmantosim funkciju zip, lai
izveidotu jaunu kortežu, pamatojoties uz diviem sarakstiem:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Koda izpildes rezultāts:
(('d', 4), ('e', 5), ('f', 6))
Piemērs
Izveidosim kortežu no divām kopām:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Koda izpildes rezultāts:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Piemērs
Tagad izveidosim kortežu no trim kopām:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Koda izpildes rezultāts:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Piemērs
Izmantojot funkciju zip, var
vienlaicīgi iziet cauri vairākiem objektiem.
Kā piemēru, iziesim cauri trijiem sarakstiem:
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)
Koda izpildes rezultāts:
1 4 7
2 5 8
3 6 9