Parcourir par valeur ou par indice
Application directe du cours · niveau 2 · sciences numériques et technologie (seconde), chapitre 6 — Listes et simulations aléatoires · Manipuler une liste
Énoncé
Ces deux boucles affichent-elles la même chose pour L = [3, 8, 5] ? Dans quel cas doit-on préférer la seconde ?
# (a)
for x in L:
print(x)
# (b)
for i in range(len(L)):
print(L[i])Corrigé
Les deux affichent 3, 8, 5 : le résultat est identique.
La forme (a) dit ce qu'elle fait — « pour chaque élément de la liste » — et se lit mieux. C'est celle qu'on choisit par défaut.
La forme (b) est nécessaire dès qu'on a besoin de la position : pour afficher le rang à côté de la valeur, pour modifier un élément (L[i] = ...), ou pour comparer deux éléments voisins (L[i] et L[i+1]). La forme (a) ne donne que les valeurs, jamais leur emplacement.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.