
En Python, enumerate() et zip() sont utiles lors de l’itération d’éléments d’itérable (liste, tuple, etc.) dans une boucle for.
Vous pouvez obtenir l’index avec enumerate() et obtenir les éléments de plusieurs itérables avec zip().
Cet article décrit les remarques lors de l’utilisation conjointe d’enumerate() et de zip().
Remarques sur l’utilisation conjointe d’enumerate() et de zip()
Si vous souhaitez obtenir les éléments de plusieurs listes et index, vous pouvez utiliser enumerate() et zip() ensemble.
Dans ce cas, vous devez mettre les éléments de zip() entre parenthèses, comme pour i, (a, b, …) dans enumerate(zip( … )).
names = ['Alice', 'Bob', 'Charlie']
ages = [24, 50, 18]
for i, (name, age) in enumerate(zip(names, ages)):
print(i, name, age)
# 0 Alice 24
# 1 Bob 50
# 2 Charlie 18
Vous pouvez également recevoir les éléments de zip() sous forme de tuple.
for i, t in enumerate(zip(names, ages)):
print(i, t)
# 0 ('Alice', 24)
# 1 ('Bob', 50)
# 2 ('Charlie', 18)
for i, t in enumerate(zip(names, ages)):
print(i, t[0], t[1])
# 0 Alice 24
# 1 Bob 50
# 2 Charlie 18
Notez que les fonctions count() et zip() du module itertools de la bibliothèque standard peuvent être utilisées pour créer un formulaire non imbriqué comme (i, a, b).