Voyages       https://fr.bhlyqj.com

Comprendre les destinations de boucle FOR en programmation

Destination de boucle FOR : La source d'itération expliquée

En programmation, une destination FOR (plus couramment appelée itérable ou source d'itération) définit la collection de valeurs qu'une variable de boucle assumera séquentiellement à chaque itération d'une boucle FOR.

Syntaxe générale

for identifiant in destination: # corps de la boucle commandes 

Où :

  • identifiant — la variable de boucle (prend chaque valeur de destination)
  • destination — tout objet itérable (la destination FOR)
  • corps de la boucle — commandes exécutées pour chaque valeur

Types courants de destination FOR (Exemples Python)

1. Itération sur liste

nombres = [1, 2, 3, 4] for nombre in nombres: print(nombre) # Sortie : 1, 2, 3, 4 (chaque sur nouvelle ligne) 

2. Objet range (Séquences numériques)

for nombre in range(5): print(nombre) # Sortie : 0, 1, 2, 3, 4 

3. Itération sur chaîne (Caractère par caractère)

mot = "Bonjour" for lettre in mot: print(lettre) # Sortie : B, o, n, j, o, u, r 

4. Objet fichier (Ligne par ligne)

with open("monfichier.txt", "r") as fichier: for ligne in fichier: print(ligne.strip()) 

5. Itération sur dictionnaire

ages = {"Alice": 30, "Bob": 25} for nom, age in ages.items(): print(f"{nom} a {age} ans") 

6. Itération sur ensemble

nombres_uniques = {1, 2, 3, 2, 1} for num in nombres_uniques: print(num) # Sortie : 1, 2, 3 (ordre non garanti) 

Concepts clés

  • Protocole itérable : Tout objet implémentant __iter__() ou __getitem__() peut être une destination FOR
  • Évaluation paresseuse : Générateurs et objets range calculent les valeurs à la demande, économisant la mémoire
  • Déballage : Plusieurs identifiants peuvent déballer des éléments de tuple : for x, y in points:
  • Clause else : Le for-else de Python exécute le bloc else si la boucle se termine sans break

Variations selon les langages

Bien que la syntaxe diffère, le concept existe dans tous les langages :

  • JavaScript : for (const item of iterable)
  • Java : for (Type item : collection)
  • C++ : Range-based for (auto& item : container)
  • C# : foreach (var item in collection)