Comment itérer avec une boucle for sur deux ou plusieurs listes en même temps avec python ?

Published: 21 août 2014

DMCA.com Protection Status

Pour pouvoir itérer avec une boucle for sur deux ou plusieurs liste en même temps avec python, on peut utiliser la fonction zip, exemple:

Itérer sur deux listes de même taille

Un exemple simple:

>>> l1 = ['a','b','c']
>>> l2 = [1,2,3]
>>> for x,y in zip(l1,l2):
...     print(x,y)
... 
a 1
b 2
c 3

Itérer sur trois listes de même taille

Autre exemple avec trois listes:

>>> l1 = ['a','b','c']
>>> l2 = [1,2,3]
>>> l3 = ['hello','hi','bye']
>>> for x,y,z in zip(l1,l2,l3):
...     print(x,y,z)
... 
a 1 hello
b 2 hi
c 3 bye

Itérer sur des listes de tailles différentes

Exemple de solution pour itérer sur des listes de tailles différentes

>>> l1 = ['a','b','c','d','e','f']
>>> l2 = [1,2,3]
>>> min_length = min(len(l1), len(l2))
>>> for x,y in zip(l1[:min_length],l2[:min_length]):
...     print(x,y)
... 
a 1
b 2
c 3

Références