Comme dans tout langage de programmation, les boucles en Python permettent d'éviter la répétition de code. Contrairement à la boucle while, la boucle for offre un contrôle précis sur chaque élément d'une séquence, rendant son utilisation idéale pour les itérations structurées.
Que vous soyez débutant ou expérimenté en Python, maîtriser les boucles for est essentiel pour manipuler efficacement les listes et tableaux. Ce guide détaillé explique leur fonctionnement et propose des exemples concrets pour résoudre des problèmes courants de programmation.
La boucle for parcourt les éléments d'une séquence comme une liste, une chaîne, un tuple, un dictionnaire ou un ensemble. Elle utilise le mot-clé in pour itérer.
Similaire à la boucle for en Java malgré des différences syntaxiques, sa forme générale en Python est :
for variable in séquence :
# Instructions à exécuter
Plus puissante que while, elle assure un flux contrôlé et prévisible.
Imaginez parcourir une classe d'élèves : pour chaque élève, effectuez une action spécifique. Sans élèves, la boucle s'arrête simplement.
Voici des exemples concrets.
Afficher les éléments d'une liste :
items = ["chaussure", "sac", "chemises", "lampe"]
for i in items:
print(i)
Filtrer les éléments contenant 'a' :
items = ["chaussure", "sac", "chemises", "lampe"]
for i in items:
if "a" in i:
print(i)
Avec clause else :
b = [2, 3, 5, 6]
for i in b:
print(i)
else:
print("La boucle est terminée")
Utiliser break :
b = [2, 3, 5, 6]
for i in b:
if i > 3:
break
print(i)
Utiliser continue :
b = [2, 3, 5, 6]
for i in b:
if i > 3:
continue
print(i)
Afficher les entiers de 1 à 100 :
for x in range(1, 101):
print(x)
Nombres impairs :
for x in range(1, 101):
if x % 2 == 1:
print(x)
Table de multiplication par 2 des impairs :
for x in range(1, 101):
if x % 2 == 1:
print(x, "x", 2, "=", x * 2)
Itérer sur une chaîne :
a = "Comment utiliser une boucle for en Python"
for i in a:
print(i)
Compter les caractères (via count('')) :
a = ["Comment utiliser une boucle for en Python"]
for i in a:
print(i.count('')) # Résultat : 38
Version avec compréhension de liste :
a = ["Comment utiliser une boucle for en Python"]
c = [i.count('') for i in a]
print(c) # [38]
Note : str.count('') équivaut à len(str).
Compteur de mots :
a = ["Comment utiliser une boucle for en Python"]
for i in a:
print(i.count(' ') + 1) # Résultat : 8
Avec compréhension :
a = ["Comment utiliser une boucle for en Python"]
c = [i.count(' ') + 1 for i in a]
print(c) # [8]
Exemple : identifier les moutons malades.
array = [
{"name": "Sheep1", "healthy": "Oui"},
{"name": "Sheep3", "healthy": "Non"},
{"name": "Sheep4", "healthy": "Oui"},
{"name": "Sheep5", "healthy": "Oui"},
{"name": "Sheep8", "healthy": "Non"},
{"name": "Sheep7", "healthy": "Non"},
{"name": "Sheep9", "healthy": "Non"}
]
for sheep in array:
if sheep["healthy"] == "Non":
print("Quarantaine", sheep["name"])
Pour parcourir une liste imbriquée :
nested_list = [[1, 2, 4, 5], {"name": "Python", "method": "write"}]
for item in nested_list:
for i in item:
print(i)
Une bonne connaissance des listes et dictionnaires facilite les boucles imbriquées.
Les boucles for et while ont chacune leur utilité selon le contexte. Les for excellent pour les itérations finies, tandis que while convient aux conditions dynamiques. Maîtrisez-les toutes deux pour une programmation Python efficace.
[]