La función zip en Python combina elementos de dos o más iterables en tuplas. Crea un iterador que genera tuplas donde los i-ésimos elementos de cada iterable se agrupan juntos. Es útil para combinar datos de múltiples iterables de manera sincronizada, por ejemplo cuando necesitamos iterar los dos al mismo tiempo.

Funcion zip en Python

 

Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
 

Python: Recorrer dos iterables en simultáneo usando zip

La función zip recibe dos iterables y forma tuplas con pares de elementos, en el orden en que aparecen.

Ejemplo:

nums1 = [1,3,5]
nums2 = [2,4,6]
resultado = zip(nums1, nums2)
print(list(resultado))

Salida:

[(1, 2), (3, 4), (5, 6)]

Esto permite iterar en simultáneo:

nums1 = [1,3,5]
nums2 = [2,4,6]
for a, b in zip(nums1, nums2):
    print(a, b)

Salida:

1 2
3 4
5 6

La longitud estará dada por el iterable con menor cantidad de elementos:

nums1 = [1,3,5,7]
nums2 = [2,4]
for a, b in zip(nums1, nums2):
    print(a, b)

Salida:

1 2
3 4


 

Código Python para ejecutar