zip()

La funzione riceve come argomenti delle sequenze (stringhe, tuple, liste, iteratori, …) e restituisce un iteratore alle tuple costituite ordinatamente da un elemento di ognuno degli argomenti.

z1 = (2, 4, 6)
z2 = [101, 102, 103]
z  = zip(z1, z2)     

print(list(z))  # [(2, 101), (4, 102), (6, 103)]

Lunghezze diverse

Se le sequenze hanno lunghezze diverse l’iteratore termina quando uno degli argomenti termina.

z1 = (2, 4, 6)
z2 = [101, 102, 103]
z3 = "arcobaleno"
z  = zip(z1, z2, z3)

print(list(z))  # [(2, 101, 'a'), (4, 102, 'r'), (6, 103, 'c')]

for

La funzione zip() si utilizza nei cicli for per scorrere più sequenze in parallelo

for x1, x2, x3 in zip(z1, z2, z3):
    ...