La boucle for en Python est une fonction d’itération. Si vous avez un objet séquence comme une liste, vous pouvez utiliser la boucle for pour itérer sur les éléments contenus dans la liste.
La fonctionnalité de la boucle for n’est pas très différente de ce que vous voyez dans de nombreux autres langages de programmation.
Dans cet article, nous explorerons en détail la boucle for en Python et apprendrons à itérer sur différentes séquences, notamment des listes, des tuples, et plus encore. De plus, nous apprendrons à contrôler le flux de la boucle en utilisant les instructions break et continue.
Syntaxe de base de la boucle for en Python
La syntaxe de base de la boucle for en Python ressemble à celle mentionnée ci-dessous.
for itarator_variable in sequence_name:
Statements
. . .
Statements
Permettez-moi d’expliquer la syntaxe de la boucle for en Python plus en détail.
- Le premier mot de l’instruction commence par le mot clé « for » qui signifie le début de la boucle for.
- Ensuite, nous avons la variable d’itération qui itère sur la séquence et peut être utilisée dans la boucle pour effectuer différentes fonctions
- Ensuite, nous avons le mot clé « in » en Python qui indique à la variable d’itération de boucler pour les éléments de la séquence.
- Et enfin, nous avons la variable de séquence qui peut être soit une liste, un tuple, ou tout autre type d’itérateur.
- La partie des instructions de la boucle est l’endroit où vous pouvez jouer avec la variable d’itérateur et effectuer diverses fonctions
1. Imprimer les lettres individuelles d’une chaîne à l’aide de la boucle for
La chaîne Python est une séquence de caractères. Si dans l’une de vos applications de programmation, vous avez besoin de parcourir les caractères d’une chaîne individuellement, vous pouvez utiliser la boucle for ici.
Voici comment cela fonctionnerait pour vous.
word="anaconda"
for letter in word:
print (letter)
Sortie:
a
n
a
c
o
n
d
a
La raison pour laquelle cette boucle fonctionne est que Python considère une « chaîne » comme une séquence de caractères au lieu de regarder la chaîne dans son ensemble.
2. Utilisation de la boucle for pour parcourir une liste ou un tuple Python
Les listes et les tuples sont des objets itérables. Voyons maintenant comment nous pouvons boucler sur les éléments de ces objets.
words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
print (word)
Sortie:
Apple
Banana
Car
Dolphin
Maintenant, avançons et travaillons sur la boucle des éléments d’un tuple ici.
nums = (1, 2, 3, 4)
sum_nums = 0
for num in nums:
sum_nums = sum_nums + num
print(f'Sum of numbers is {sum_nums}')
# Sortie
# La somme des nombres est 10
3. Imbrication des boucles for en Python
Lorsque nous avons une boucle for à l’intérieur d’une autre boucle for, on l’appelle une boucle for imbriquée. Il existe plusieurs applications d’une boucle for imbriquée.
Considérons l’exemple de liste ci-dessus. La boucle for imprime des mots individuels de la liste. Mais que se passe-t-il si nous voulons imprimer les caractères individuels de chacun des mots de la liste à la place?
C’est là qu’une boucle for imbriquée fonctionne mieux. La première boucle (boucle parent) parcourra les mots un par un. La deuxième boucle (boucle enfant) bouclera sur les caractères de chacun des mots.
words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
# Cette boucle extrait le mot de la liste
print ("The following lines will print each letters of "+word)
for letter in word:
# Cette boucle extrait la lettre du mot
print (letter)
print("") # Cette instruction print est utilisée pour imprimer une ligne vide
Sortie
4. Boucle for Python avec la fonction range()
Python range() est l’une des fonctions intégrées. Lorsque vous souhaitez que la boucle for s’exécute un nombre spécifique de fois, ou que vous devez spécifier une plage d’objets à afficher, la fonction range fonctionne vraiment bien. Considérez l’exemple suivant où je veux imprimer les chiffres 1, 2 et 3.
for x in range(3):
print("Printing:", x)
# Sortie
# Impression : 0
# Impression : 1
# Impression : 2
La fonction range prend également un autre paramètre en plus du début et de la fin. C’est le paramètre de pas. Il indique à la fonction range combien de nombres sauter entre chaque compte.
Dans l’exemple ci-dessous, j’ai utilisé le nombre 3 comme pas et vous pouvez voir que les chiffres de sortie sont le nombre précédent + 3.
for n in range(1, 10, 3):
print("Printing with step:", n)
# Sortie
# Impression avec pas : 1
# Impression avec pas : 4
# Impression avec pas : 7
5. instruction break avec boucle for
L’instruction break est utilisée pour sortir prématurément de la boucle for. Elle est utilisée pour interrompre la boucle for lorsqu’une condition spécifique est rencontrée.
Supposons que nous ayons une liste de nombres et que nous voulions vérifier si un nombre est présent ou non. Nous pouvons itérer sur la liste de nombres et, si le nombre est trouvé, sortir de la boucle car nous n’avons pas besoin de continuer à itérer sur les éléments restants.
Dans ce cas, nous utiliserons la condition Python if else avec notre boucle for.
nums = [1, 2, 3, 4, 5, 6]
n = 2
found = False
for num in nums:
if n == num:
found = True
break
print(f'List contains {n}: {found}')
# Résultat
# Liste contient 2 : True
6. L’instruction continue avec la boucle for
Nous pouvons utiliser l’instruction continue à l’intérieur d’une boucle for pour ignorer l’exécution du corps de la boucle for pour une condition spécifique.
Supposons que nous ayons une liste de nombres et que nous voulions imprimer la somme des nombres positifs. Nous pouvons utiliser l’instruction continue pour sauter la boucle for pour les nombres négatifs.
nums = [1, 2, -3, 4, -5, 6]
sum_positives = 0
for num in nums:
if num < 0:
continue
sum_positives += num
print(f'Sum of Positive Numbers: {sum_positives}')
6. Boucle for Python avec un bloc else
Nous pouvons utiliser un bloc else avec une boucle for Python. Le bloc else est exécuté uniquement lorsque la boucle for n’est pas terminée par une instruction break.
Supposons que nous avons une fonction pour imprimer la somme des nombres si et seulement si tous les nombres sont pairs.
Nous pouvons utiliser l’instruction break pour terminer la boucle for si un nombre impair est présent. Nous pouvons imprimer la somme dans la partie else afin qu’elle ne soit imprimée que lorsque la boucle for est exécutée normalement.
def print_sum_even_nums(even_nums):
total = 0
for x in even_nums:
if x % 2 != 0:
break
total += x
else:
print("For loop executed normally")
print(f'Sum of numbers {total}')
# cela imprimera la somme
print_sum_even_nums([2, 4, 6, 8])
# cela n'imprimera pas la somme en raison d'un nombre impair dans la séquence
print_sum_even_nums([2, 4, 5, 8])
# Résultat
# Boucle for exécutée normalement
# Somme des nombres 20
Conclusion
La boucle for en Python est très similaire aux autres langages de programmation. Nous pouvons utiliser les instructions break et continue avec la boucle for pour modifier l’exécution. Cependant, en Python, nous pouvons également avoir un bloc else facultatif dans la boucle for.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
Source:
https://www.digitalocean.com/community/tutorials/python-for-loop-example