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
Liens | Site |
---|---|
zip | python doc |
zip lists in python | stackoverflow |
Combining two lists | stackoverflow |
Python:get a couple of values from two different list | stackoverflow |
Is there a better way to iterate over two lists, getting one element from each list for each iteration? | stackoverflow |