Python pour Loop

Dans cet article, vous apprendrez à parcourir une séquence d'éléments en utilisant les différentes variantes de la boucle for.

Vidéo: Python for Loop

Qu'est-ce que la boucle for en Python?

La boucle for en Python est utilisée pour itérer sur une séquence (liste, tuple, chaîne) ou d'autres objets itérables. L'itération sur une séquence est appelée traversée.

Syntaxe de for Loop

 for val in sequence: Corps de for

Voici valla variable qui prend la valeur de l'élément à l'intérieur de la séquence à chaque itération.

La boucle continue jusqu'à ce que nous atteignions le dernier élément de la séquence. Le corps de la boucle for est séparé du reste du code à l'aide de l'indentation.

Organigramme de la boucle for

Organigramme de la boucle for en Python

Exemple: Python pour Loop

 # Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum) 

Lorsque vous exécutez le programme, la sortie sera:

 La somme est de 48

La fonction range ()

Nous pouvons générer une séquence de nombres en utilisant la range()fonction. range(10)générera des nombres de 0 à 9 (10 nombres).

Nous pouvons également définir le début, l'arrêt et la taille de l'étape comme range(start, stop,step_size). step_size prend la valeur par défaut 1 s'il n'est pas fourni.

L' rangeobjet est "paresseux" dans un sens car il ne génère pas tous les nombres qu'il "contient" lorsque nous le créons. Cependant, ce n'est pas un itérateur car il prend en charge in, lenet les __getitem__opérations.

Cette fonction ne stocke pas toutes les valeurs en mémoire; ce serait inefficace. Ainsi, il se souvient du début, de l'arrêt, de la taille de l'étape et génère le numéro suivant en déplacement.

Pour forcer cette fonction à afficher tous les éléments, nous pouvons utiliser la fonction list().

L'exemple suivant clarifiera cela.

 print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))

Production

 plage (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)

Nous pouvons utiliser la range()fonction en forboucles pour parcourir une séquence de nombres. Il peut être combiné avec la len()fonction pour parcourir une séquence en utilisant l'indexation. Voici un exemple.

 # Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))

Production

 J'aime la pop j'aime le rock j'aime le jazz

pour boucle avec else

Une forboucle peut également avoir un elsebloc facultatif . La elsepièce est exécutée si les éléments de la séquence utilisée dans les sorties de boucle for.

Le breakmot-clé peut être utilisé pour arrêter une boucle for. Dans de tels cas, la partie else est ignorée.

Par conséquent, la partie else d'une boucle for s'exécute si aucune rupture ne se produit.

Voici un exemple pour illustrer cela.

 digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")

Lorsque vous exécutez le programme, la sortie sera:

 0 1 5 Aucun élément restant.

Ici, la boucle for imprime les éléments de la liste jusqu'à ce que la boucle s'épuise. Lorsque la boucle for s'épuise, elle exécute le bloc de code dans le elseet affiche Aucun élément restant.

Cette for… elseinstruction peut être utilisée avec le breakmot - clé pour exécuter le elsebloc uniquement lorsque le breakmot - clé n'a pas été exécuté. Prenons un exemple:

 # program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')

Production

 Aucune entrée avec ce nom trouvée.

Articles intéressants...