Funkcija zip
Funkcija zip sukuria iteratoriu,
sujungiantį elementus iš sekų
(sąrašai, kortegai, aibės). Funkcija
grąžina iteratoriu, kuriame visi elementai
pirmos ir antros sekų sujungiami
kartu pagal eiliškumą. Funkcijos parametre
nurodome visus mus dominančius kortegus,
sąrašus, aibes ir pan.
Sintaksė
zip(pirmoji seka, antroji seka ir t.t.)
Pavyzdys
Pasinaudokime funkcija zip sukurkime
naują kortegą pagal du pradinius:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Kodo vykdymo rezultatas:
(('a', 1), ('b', 2), ('c', 3))
Pavyzdys
O dabar pasinaudokime funkcija zip
sukurkime naują kortegą pagal du sąrašus:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Kodo vykdymo rezultatas:
(('d', 4), ('e', 5), ('f', 6))
Pavyzdys
Sukurkime kortegą iš dviejų aibių:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Kodo vykdymo rezultatas:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Pavyzdys
O dabar sukurkime kortegą iš trijų aibių:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Kodo vykdymo rezultatas:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Pavyzdys
Pasinaudojus funkcija zip galima
vienu metu pereiti kelis objektus.
Pereikime pavyzdžiui tris sąrašus:
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)
Kodo vykdymo rezultatas:
1 4 7
2 5 8
3 6 9