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

pythonzip(prima sequenza, seconda sequenza, ecc.)

Esempio

Creiamo una nuova tuple basata su due tuple originali utilizzando la funzione zip:

pythontlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)

res = zip(tlp1, tlp2)
print(tuple(res))

Risultato dell'esecuzione del codice:

python(('a', 1), ('b', 2), ('c', 3))

Esempio

Ora creiamo una nuova tuple basata su due liste utilizzando la funzione zip:

pythonlst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]

res = zip(lst1, lst2)
print(tuple(res))

Risultato dell'esecuzione del codice:

python(('d', 4), ('e', 5), ('f', 6))

Esempio

Creiamo una tuple da due insiemi:

pythonst1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}

res = zip(st1, st2)
print(tuple(res))

Risultato dell'esecuzione del codice:

python(('a', 'd'), ('c', 'e'), ('b', 'f'))

Esempio

Ora creiamo una tuple da tre insiemi:

pythonst1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}

res = zip(st1, st2, st3)
print(tuple(res))

Risultato dell'esecuzione del codice:

python(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))

Esempio

Con la funzione zip è possibile iterare più oggetti simultaneamente. Iteriamo tre liste come esempio:

pythonlst1 = [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:

python1 4 7
2 5 8
3 6 9

Vedi anche

  • funzione filter,
    che filtra oggetti iterabili
  • funzione map,
    che itera oggetti iterabili