Funktionen zip
Funktionen zip skapar en iterator
som kombinerar element från sekvenser
(listor, tupler, mängder). Funktionen
returnerar en iterator där alla element
från den första och den andra sekvensen
slås ihop i ordning. I funktionens parameter
anger vi alla tupler, listor, mängder etc.
som vi är intresserade av.
Syntax
zip(första sekvensen, andra sekvensen, osv.)
Exempel
Låt oss med hjälp av funktionen zip skapa
en ny tuple baserad på två ursprungliga:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Resultat av kodkörning:
(('a', 1), ('b', 2), ('c', 3))
Exempel
Och låt oss nu med hjälp av funktionen zip
skapa en ny tuple baserad på två listor:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Resultat av kodkörning:
(('d', 4), ('e', 5), ('f', 6))
Exempel
Låt oss skapa en tuple från två mängder:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Resultat av kodkörning:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Exempel
Och låt oss nu skapa en tuple från tre mängder:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Resultat av kodkörning:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Exempel
Med funktionen zip kan man
samtidigt iterera över flera objekt.
Låt oss som exempel iterera över tre listor:
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)
Resultat av kodkörning:
1 4 7
2 5 8
3 6 9