Listas zip

Una de las mayores ventajas de Python es el gran conjunto de herramientas que proporciona para trabajar con sus tipos de datos. Al trabajar con varias listas, a veces es necesario iterar sobre ellas y realizar algunas operaciones basadas en los valores de todas las listas. Esto se puede hacer iterando sobre índices y luego accediendo a los elementos, o utilizando la función incorporada zip.
heights = [180, 190, 178]
weights = [89, 92, 77]

for i in range(len(heights)):
    h, w = heights[i], weights[i]
    print(h, '=>', w)
heights = [180, 190, 178]
weights = [89, 92, 77]

for h, w in zip(heights, weights):
    print(h, '=>', w)
La función zip crea tuplas a partir de los elementos de las listas que se le pasan. Puede manejar un número arbitrario de listas. Así, podemos tener zip(list1, list2, list3, ..., listn). Creará tuplas, cada una conteniendo n elementos si se pasan n listas a zip.
Ten en cuenta que combina los elementos hasta la longitud de la lista más corta. Por lo tanto, si proporcionamos dos listas donde una es más corta que la otra, los últimos elementos adicionales de la segunda serán ignorados.
notion image
Si queremos ser estrictos y no permitir recortar las listas más largas, podemos indicarle a Python que genere un error si eso ocurre, proporcionando un argumento adicional strict=True:
heights = [180, 190]
names = ['Bob', 'Liza', 'Anna']

for h, name in zip(heights, names, strict=True):
    print(name, '=>', h)
# ValueError: zip() argument 2 is longer than argument 1

Desafío

La entrada contiene 3 listas, cada una en una línea separada. Los elementos de las listas están separados por un espacio. Se garantiza que las listas tienen el mismo número de elementos.
El programa debe imprimir una nueva lista que contenga el producto de esas 3 listas.
Input
Output
1 2 3 4 5 6 1 1 1
4 10 18
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue