Python Language Itération sur les listes


Exemple

Pour parcourir une liste, vous pouvez utiliser for :

for x in ['one', 'two', 'three', 'four']:
    print(x)

Cela imprimera les éléments de la liste:

one
two
three
four

La fonction range génère des nombres qui sont également souvent utilisés dans une boucle for.

for x in range(1, 6):
    print(x)

Le résultat sera un type de séquence de plage spécial dans python> = 3 et une liste dans python <= 2. Les deux peuvent être bouclés en utilisant la boucle for.

1
2
3
4
5

Si vous voulez effectuer une boucle à la fois sur les éléments d'une liste et avoir un index pour les éléments, vous pouvez utiliser la fonction d' enumerate de Python:

for index, item in enumerate(['one', 'two', 'three', 'four']):
    print(index, '::', item)

enumerate va générer des tuples, décompressés en index (entier) et en item (valeur réelle de la liste). La boucle ci-dessus s'imprimera

(0, '::', 'one')
(1, '::', 'two')
(2, '::', 'three')
(3, '::', 'four')

Itérer sur une liste avec manipulation de valeur en utilisant map et lambda , c'est-à-dire appliquer la fonction lambda sur chaque élément de la liste:

x = map(lambda e :  e.upper(), ['one', 'two', 'three', 'four'])
print(x)

Sortie:

['ONE', 'TWO', 'THREE', 'FOUR'] # Python 2.x

NB: dans Python 3.x, la map retourne un itérateur au lieu d'une liste, donc vous devez, si vous avez besoin d'une liste, lancer l' print(list(x)) du résultat print(list(x)) (voir http://www.riptutorial.com/python/ exemple / 8186 / map-- dans http://www.riptutorial.com/python/topic/809/incompatibilities-moving-from-python-2-to-python-3 ).