Instructions Python pour Loop

Il a la capacité d'itérer sur les éléments de n'importe quelle séquence, telle qu'une liste ou une chaîne.

Syntaxe

for iterating_var in sequence:
   statements(s)

Si une séquence contient une liste d'expressions, elle est évaluée en premier. Ensuite, le premier élément de la séquence est affecté à la variable itérante iterating_var . Ensuite, le bloc d'instructions est exécuté. Chaque élément de la liste est affecté à iterating_var et le bloc instruction (s) est exécuté jusqu'à ce que la séquence entière soit épuisée.

Représentation schématique

Exemple

#!/usr/bin/python

for letter in 'Python':     # First Example
   print 'Current Letter :', letter

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # Second Example
   print 'Current fruit :', fruit

print "Good bye!"

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!

Itération par index de séquence

Une autre façon d'itérer à travers chaque élément est le décalage d'index dans la séquence elle-même. Voici un exemple simple -

#!/usr/bin/python

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print 'Current fruit :', fruits[index]

print "Good bye!"

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!

Ici, nous avons pris l'aide de la fonction intégrée len (), qui fournit le nombre total d'éléments dans le tuple ainsi que la fonction intégrée range () pour nous donner la séquence réelle à parcourir.

Utilisation de l'instruction else avec la boucle For

Python prend en charge d'avoir une instruction else associée à une instruction de boucle

  • Si la else instruction est utilisée avec un for boucle, le else est exécutée lorsque la boucle a épuisé l'itération de la liste.

L'exemple suivant illustre la combinaison d'une instruction else avec une instruction for qui recherche les nombres premiers de 10 à 20.

#!/usr/bin/python

for num in range(10,20):     #to iterate between 10 to 20
   for i in range(2,num):    #to iterate on the factors of the number
      if num%i == 0:         #to determine the first factor
         j=num/i             #to calculate the second factor
         print '%d equals %d * %d' % (num,i,j)
         break #to move to the next number, the #first FOR
   else:                  # else part of the loop
      print num, 'is a prime number'
		break

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

10 equals 2 * 5
11 is a prime number
12 equals 2 * 6
13 is a prime number
14 equals 2 * 7
15 equals 3 * 5
16 equals 2 * 8
17 is a prime number
18 equals 2 * 9
19 is a prime number