Функция zip

La función zip crea un iterador que combina elementos de secuencias (listas, tuplas, conjuntos). La función devuelve un iterador en el que todos los elementos de la primera y segunda secuencia se fusionan juntos en orden. En el parámetro de la función especificamos todas las tuplas, listas, conjuntos, etc. que nos interesen.

Sintaxis

pythonzip(primera secuencia, segunda secuencia, etc.)

Ejemplo

Usemos la función zip para crear una nueva tupla basada en dos originales:

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

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

Resultado de la ejecución del código:

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

Ejemplo

Ahora usemos la función zip para crear una nueva tupla basada en dos listas:

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

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

Resultado de la ejecución del código:

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

Ejemplo

Creemos una tupla a partir de dos conjuntos:

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

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

Resultado de la ejecución del código:

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

Ejemplo

Ahora creemos una tupla a partir de tres conjuntos:

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

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

Resultado de la ejecución del código:

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

Ejemplo

Con la función zip se pueden recorrer varios objetos simultáneamente. Recorramos tres listas como ejemplo:

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)

Resultado de la ejecución del código:

python1 4 7
2 5 8
3 6 9

Véase también

  • función filter,
    que filtra objetos iterables
  • función map,
    que recorre objetos iterables