for
for parcourt un à un les éléments d'une collection : liste, chaîne, dictionnaire, range ou fichier. C'est la boucle de base pour cumuler, compter ou transformer une série de valeurs.
- itération
- range
- break
- continue
- boucle
Syntaxe
for element in iterable: ...for i in range(debut, fin, pas): ...break # sort de la bouclecontinue # passe au tour suivantExemple
ventes = [120, 80, 0, 230, 95]total = 0for montant in ventes: if montant == 0: continue # jour de fermeture, on l'ignore total += montantprint(total) # → 525for jour, montant in enumerate(ventes, start=1): if montant > 200: print(f"Premier jour au-dessus de 200 : jour {jour}") # → Premier jour au-dessus de 200 : jour 4 breakÀ retenir
- range(n) produit 0 à n-1 et range(debut, fin, pas) exclut toujours fin : range(1, 4) donne 1, 2 et 3.
- enumerate(liste, start=1) fournit l'indice et la valeur : évitez for i in range(len(liste)).
- Un else placé après une boucle for ne s'exécute que si la boucle n'a pas été interrompue par break : pratique pour signaler « rien trouvé ».
- Piège : retirer ou ajouter des éléments à une liste pendant qu'on la parcourt saute ou répète des éléments. Construisez plutôt une nouvelle liste, par exemple avec une compréhension.
- Sur un DataFrame pandas, une boucle ligne par ligne est très lente : préférez les opérations sur des colonnes entières.
Voir aussi
- whilewhile répète un bloc tant qu'une condition reste vraie, sans savoir à l'avance combien de tours il faudra. On l'emploie pour une simulation, une relance ou une recherche qui s'arrête sur un seuil.
- zip & enumerateenumerate numérote les éléments d'une séquence et zip parcourt plusieurs séquences en parallèle. Ils remplacent les boucles sur range(len(...)), plus longues et plus fragiles.
- CompréhensionsUne compréhension construit une liste, un dictionnaire ou un ensemble en une seule expression qui transforme et filtre. Employez-la dès qu'une boucle ne sert qu'à remplir une collection.