Répéter une action N fois en Python #
Pour répéter une action N fois :
- Utilisez la touche
range()
pour créer une classerange
de longueur N. - Utiliser un
for
boucle pour itérer sur lesrange
objet. - Effectuer l’action à chaque itération.
def print_message(message):
print(message)
number = 1
for _ in range(5):
number = number * 2
print_message('example')
print(number)
Nous avons utilisé un for
pour itérer sur une range
N fois.
La classe range est
couramment utilisée pour boucler un nombre spécifique de fois en for
boucles et prend les
les arguments suivants :
Nom | Description |
---|---|
start |
Un nombre entier représentant le début de la plage (la valeur par défaut étant 0 ) |
stop |
Aller jusqu’à, mais sans inclure l’entier fourni |
step |
L’intervalle comprendra tous les N nombres entre start à stop (la valeur par défaut est 1 ) |
Si vous ne passez qu’un seul argument à la méthode range()
constructeur, il est
considéré comme la valeur de l’argument stop
paramètre.
for n in range(5):
print(n)
result = list(range(5))
print(result)
L’exemple montre que si le paramètre start
est omis, la valeur par défaut est la suivante 0
et si l’argument step
est omis, la valeur par défaut est la suivante 1
.
Si les valeurs de l start
et stop
sont fournis, les paramètres start
valeur
est inclusive, alors que la valeur stop
est exclusive.
result = list(range(1, 5))
print(result)
A chaque itération de la méthode for
boucle, nous appelons une fonction et réassignons une variable.
def print_message(message):
print(message)
number = 1
for _ in range(5):
number = number * 2
print_message('example')
print(number)
Vous pouvez utiliser cette approche pour effectuer n’importe quelle autre action N fois.
Nous avons utilisé un trait de soulignement _
pour le nom de la variable. Il existe une convention pour utiliser un trait de soulignement. _
pour les variables fictives que l’on n’a pas l’intention d’utiliser.
Alternativement, vous pouvez utiliser l’option itertools.repeat()
classe.
Répéter une action N fois en utilisant itertools.repeat() #
Pour répéter une action N fois :
- Utilisez la touche
itertools.repeat()
pour créer un itérateur de longueur N. - Utilisez un
for
boucle pour itérer sur l’itérateur. - Effectuer l’action à chaque itération.
from itertools import repeat
def print_message(message):
print(message)
number = 1
for _ in repeat(None, 5):
number = number * 2
print_message('example')
print(number)
Le site
itertools.repeat
prend comme arguments un objet et le nombre de fois où l’objet doit être répété.
arguments.
from itertools import repeat
print(list(repeat('x', 5)))
La méthode retourne un itérateur contenant l’objet répété N fois.
Le site itertools.repeat()
est un peu plus rapide que la classe range()
dans ce scénario
dans ce scénario, car elle n’a pas besoin de créer une classe int
objet à chaque
itération.
Cependant, la différence de performance est négligeable (~15%) pour la plupart des applications.
applications.
L’approche que vous choisissez est une question de préférence personnelle. J’utiliserais la
range()
car je la trouve plus intuitive et plus facile à lire.