Répéter une action N fois en Python

Répéter une action N fois en Python #

Pour répéter une action N fois :

  1. Utilisez la touche range() pour créer une classe range de longueur N.
  2. Utiliser un for boucle pour itérer sur les range objet.
  3. 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 :

  1. Utilisez la touche itertools.repeat() pour créer un itérateur de longueur N.
  2. Utilisez un for boucle pour itérer sur l’itérateur.
  3. 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.

Laisser un commentaire