Aller au contenu
Contrôle de flux

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

Modèle
for element in iterable:    ...for i in range(debut, fin, pas):    ...break      # sort de la bouclecontinue   # passe au tour suivant

Exemple

Exemple concret
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

  1. range(n) produit 0 à n-1 et range(debut, fin, pas) exclut toujours fin : range(1, 4) donne 1, 2 et 3.
  2. enumerate(liste, start=1) fournit l'indice et la valeur : évitez for i in range(len(liste)).
  3. 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é ».
  4. 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.
  5. 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