Función zip() en Python


La función zip() en Python se utiliza para combinar dos o más iterables en un solo iterable. Crea una secuencia de tuplas donde el primer elemento en cada uno de los iterables se combina en una tupla, el segundo elemento en cada uno de los iterables se combina en otra tupla y así sucesivamente. La longitud del iterable resultante es igual a la longitud del iterable más corto que se pasa como argumento.


Sintaxis de la Función zip() en Python

A continuación puedes ver la sintaxis de zip() en Python:

zip(iterable1, iterable2, ...)
  • iterable1, iterable2, … son los iterables que deseas combinar. Puedes proporcionar tantos iterables como desees, separados por comas.

Ejemplo de de zip() en Python

A continuación tienes un ejemplo de zip() en Python:

nombres = ['Alice', 'Bob', 'Charlie']
      edades = [25, 30, 35]

      # Combina las listas de nombres y edades en una lista de tuplas
      combinado = zip(nombres, edades)

      # Convierte el objeto zip en una lista
      lista_combinada = list(combinado)

      print(lista_combinada)

Resultado:

[('Alice', 25), ('Bob', 30), ('Charlie', 35)]

Ejemplo de Desempaquetar elementos de las tuplas generadas por zip()

nombres = ['Alice', 'Bob', 'Charlie']
      edades = [25, 30, 35]

      combinado = zip(nombres, edades)

      for nombre, edad in combinado:
          print(f'{nombre} tiene {edad} años.')

Resultado:

Alice tiene 25 años.
Bob tiene 30 años.
Charlie tiene 35 años.

Ejemplo del manejo de iterables de diferentes longitudes con zip()

Si los iterables tienen longitudes diferentes, zip() se detendrá cuando el iterable más corto se agote. Los elementos adicionales en el iterable más largo se ignorarán.

nombres = ['Alice', 'Bob', 'Charlie']
      edades = [25, 30]

      combinado = zip(nombres, edades)

      for nombre, edad in combinado:
          print(f'{nombre} tiene {edad} años.')

Resultado:

Alice tiene 25 años.
Bob tiene 30 años.

Notas adicionales

  • Puedes utilizar la función list() para convertir el objeto zip en una lista si deseas acceder a todos los elementos a la vez.
  • zip() es útil para recorrer dos o más listas en paralelo y combinar sus elementos de manera ordenada.
  • Si necesitas invertir el proceso y descombinar una lista de tuplas en múltiples listas, puedes usar el operador * para desempaquetar las tuplas.

Espero que esta lección detallada te haya ayudado a comprender cómo utilizar la función zip() en Python. Si tienes más preguntas o necesitas ejemplos adicionales, no dudes en preguntar.