Maîtriser les boucles for et while en Python (Guide & Exemples)
Découvrez comment parcourir des collections efficacement, combiner des index avec enumerate, et contrôler vos flux d'itération.
Explications & Fondations Techniques
En Python, la boucle `for` est en réalité une boucle `for-each` : elle itère directement sur les éléments d'un itérable sans nécessiter de compteur manuel.
La fonction `range(start, stop, step)` génère une séquence numérique arithmétique sans saturer la mémoire grâce à son générateur paresseux.
Utilisez `enumerate(liste)` lorsque vous avez besoin à la fois de l'indice et de la valeur, plutôt que d'utiliser l'anti-pattern `range(len(liste))`.
Exemple de Code Pratique
Exécuter dans le Playground# 1. Parcourir avec enumerate (index + élément)
langages = ["Python", "JavaScript", "Rust", "C++"]
for index, nom in enumerate(langages, start=1):
print(f"#{index} : {nom}")
# 2. Boucle while avec condition d'arrêt
compteur = 3
while compteur > 0:
print(f"Décollage dans {compteur}s...")
compteur -= 1
# 3. La clause for ... else (s'exécute si aucun break n'a eu lieu)
for val in [2, 4, 6]:
if val % 2 != 0:
print("Impair trouvé !")
break
else:
print("Tous les éléments sont pairs.")Pièges Fréquents & Mauvaises Pratiques
✗ Utiliser range(len(liste)) au lieu de enumerate()
for i in range(len(items)):
print(i, items[i])for i, item in enumerate(items):
print(i, item)`enumerate` est plus lisible, moins sujet aux erreurs d'index décalé et plus rapide en CPython.
Questions Fréquentes
À quoi sert la clause else après une boucle for en Python ?▾
Le bloc `else` s'exécute uniquement si la boucle se termine normalement sans rencontrer l'instruction `break`. C'est très utile pour les algorithmes de recherche.
Maîtrisez Python pas à pas
Résolvez des défis interactifs directement dans votre navigateur avec retour immédiat et indices progressifs.
