Zip-funktio
Funktio zip luo iteraattorin,
joka yhdistää elementit sekvensseistä
(listat, tuplet, joukot). Funktio
palauttaa iteraattorin, jossa kaikki elementit
ensimmäisestä ja toisesta sekvenssistä yhdistetään
yhteen järjestyksessä. Funktion parametrissa
määritellään kaikki meitä kiinnostavat tuplet,
listat, joukot jne.
Syntaksi
zip(ensimmäinen sekvenssi, toinen sekvenssi jne.)
Esimerkki
Luodaan funktion zip avulla
uusi tuple kahdesta lähtöaineistosta:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Koodin suorituksen tulos:
(('a', 1), ('b', 2), ('c', 3))
Esimerkki
Luodaan nyt funktion zip avulla
uusi tuple kahdesta listasta:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Koodin suorituksen tulos:
(('d', 4), ('e', 5), ('f', 6))
Esimerkki
Luodaan tuple kahdesta joukosta:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Koodin suorituksen tulos:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Esimerkki
Luodaan nyt tuple kolmesta joukosta:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Koodin suorituksen tulos:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Esimerkki
Funktion zip avulla voidaan
samanaikaisesti iteroida useita objekteja.
Esimerkkinä iteroidaan kolmea listaa:
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)
Koodin suorituksen tulos:
1 4 7
2 5 8
3 6 9