Volver a la página principal
miércoles 25 septiembre 2024
6

Cómo combinar iterables en Python con zip()

La función zip() en Python permite combinar múltiples iterables (como listas, tuplas, o cadenas) en pares de elementos. Devuelve un iterador de tuplas, donde cada tupla contiene elementos de las posiciones correspondientes de los iterables.

¿Cómo funciona zip() en Python?

zip() toma dos o más iterables y agrupa los elementos que ocupan la misma posición en cada uno. Si los iterables tienen diferente longitud, zip() detendrá el proceso cuando el más corto se quede sin elementos.

Ejemplo de uso básico:

lista1 = [1, 2, 3]
lista2 = ['a', 'b', 'c']

resultado = zip(lista1, lista2)
print(list(resultado))  # [(1, 'a'), (2, 'b'), (3, 'c')]

En este ejemplo, zip() combina los elementos de lista1 y lista2 en tuplas emparejadas.

Usos comunes de zip()

Emparejar varios iterables:

numeros = [1, 2, 3]
letras = ['a', 'b', 'c']
colores = ['rojo', 'verde', 'azul']

resultado = zip(numeros, letras, colores)
print(list(resultado))  # [(1, 'a', 'rojo'), (2, 'b', 'verde'), (3, 'c', 'azul')]

Desempaquetar con zip()

También puedes usar zip() junto con el operador de desempaquetado * para invertir el proceso:

pares = [(1, 'a'), (2, 'b'), (3, 'c')]
numeros, letras = zip(*pares)

print(numeros)  # (1, 2, 3)
print(letras)   # ('a', 'b', 'c')

Iteración simultánea con zip()

zip() es útil para recorrer múltiples listas al mismo tiempo:

for num, letra in zip(numeros, letras):
    print(f'{num} -> {letra}')

Ejemplos adicionales

1. Diferente longitud de iterables:

Si los iterables tienen diferente longitud, zip() solo empareja hasta el último elemento del iterable más corto:

lista1 = [1, 2]
   lista2 = ['a', 'b', 'c']
   print(list(zip(lista1, lista2)))  # [(1, 'a'), (2, 'b')]

2. Convertir en diccionario:

Puedes usar zip() para crear un diccionario a partir de dos listas:

claves = ['nombre', 'edad', 'ciudad']
   valores = ['Ana', 25, 'Madrid']
   diccionario = dict(zip(claves, valores))
   print(diccionario)  # {'nombre': 'Ana', 'edad': 25, 'ciudad': 'Madrid'}

Referencia oficial

Consulta más detalles sobre la función zip() en la documentación oficial de Python.

Etiquetas:
python
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer