Funzione zip
La funzione zip crea un iteratore
che combina elementi da sequenze
(liste, tuple, insiemi). La funzione
restituisce un iteratore in cui tutti gli elementi
della prima e della seconda sequenza vengono uniti
insieme in ordine. Nel parametro della funzione
indichiamo tutte le tuple, liste,
insiemi, ecc. che ci interessano.
Sintassi
zip(prima sequenza, seconda sequenza, ecc.)
Esempio
Creiamo una nuova tuple basata su due tuple originali utilizzando la funzione zip:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Risultato dell'esecuzione del codice:
(('a', 1), ('b', 2), ('c', 3))
Esempio
Ora creiamo una nuova tuple basata su due liste utilizzando la funzione zip:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Risultato dell'esecuzione del codice:
(('d', 4), ('e', 5), ('f', 6))
Esempio
Creiamo una tuple da due insiemi:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Risultato dell'esecuzione del codice:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Esempio
Ora creiamo una tuple da tre insiemi:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Risultato dell'esecuzione del codice:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Esempio
Con la funzione zip è possibile
iterare più oggetti simultaneamente.
Iteriamo tre liste come esempio:
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)
Risultato dell'esecuzione del codice:
1 4 7
2 5 8
3 6 9