sábado, julio 18, 2020

python zip function

No me he dedicado a programar de tiempo completo pero me he mantenido activo con algunos proyectos personales, hace poco realice un script para el trabajo el cual funcionó bien aunque algunas partes no eran muy buenas.

Un ejemplo es una iteración como esta:

movies = ['The Abyss', 'Big', 'The Prestige', 'Boyhood', 'Brick']
years = [1989,1988,2006,2014,2005]

# ugly iteration
for movie in range(len(movies)):
print(str(movies[movie]) + " - " + str(years[movie]))

Necesitaba recorrer dos listas a mismo tiempo y generar información en otra lista en el mismo índice, aunque el ciclo funciona el codigo es feo


Despues encontre la función zip la cual permite hacer una iteración paralela, el ciclo puede quedar de esta forma:

for movie, year in zip(movies, years):
print(str(movie) + " - " + str(year))


lo cual es mas claro y el resultado es el mismo.