Funktionen zip
Funktionen zip opretter en iterator,
der kombinerer elementer fra sekvenser
(lister, tupler, mængder). Funktionen
returnerer en iterator, hvor alle elementer
fra den første og anden sekvens flettes
sammen i rækkefølge. I funktionens parameter
angiver vi alle de tupler, lister, mængder osv.,
vi er interesserede i.
Syntaks
zip(første sekvens, anden sekvens osv.)
Eksempel
Lad os ved hjælp af funktionen zip lave
en ny tuple baseret på to originale:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Resultat af kodeudførelse:
(('a', 1), ('b', 2), ('c', 3))
Eksempel
Og lad os nu ved hjælp af funktionen zip
lave en ny tuple baseret på to lister:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Resultat af kodeudførelse:
(('d', 4), ('e', 5), ('f', 6))
Eksempel
Lad os oprette en tuple fra to mængder:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Resultat af kodeudførelse:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Eksempel
Og lad os nu oprette en tuple fra tre mængder:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Resultat af kodeudførelse:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Eksempel
Med funktionen zip kan man
gennemløbe flere objekter samtidigt.
Lad os for eksemplets skyld gennemløbe tre lister:
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 af kodeudførelse:
1 4 7
2 5 8
3 6 9