Création d'une boucle For sans variable d'itérateur
En Python, les boucles for parcourent généralement une séquence d'éléments à l'aide d'une variable d'itérateur, telle que comme l'exemple ci-dessous :
for i in range(some_number): # do something
Cependant, il peut y avoir des scénarios dans lesquels vous devez simplement effectuer une action plusieurs fois sans avoir besoin d'une variable itératrice.
Solutions possibles
Bien qu'il ne soit pas possible d'éliminer complètement la variable itérateur, il existe des alternatives qui peuvent obtenir un résultat similaire :
1. Fonction Lambda avec xrange() :
Vous pouvez utiliser une fonction lambda avec la fonction xrange(), en passant une fonction anonyme comme argument à loop() :
def loop(f, n): for i in xrange(n): f() loop(lambda:, 5)
2. Utilisation de la _ Variable:
Python vous permet d'utiliser la variable spéciale _ pour ignorer la valeur attribuée par la boucle. Notez que _ est simplement une autre variable et n'est pas un espace réservé pour un itérateur :
for _ in range(n): do_something()
Bien que _ soit souvent utilisé comme identifiant pour les espaces réservés, son utilisation n'est pas recommandée dans ce contexte car elle peut potentiellement attribuer la dernière valeur de retour d'une session Python interactive à _.
3. Ignorer explicitement l'itérateur :
Vous pouvez ignorer explicitement la variable itérateur en utilisant la syntaxe suivante :
for i in range(n): pass # No action taken
Cependant, cette solution n'est pas efficace car elle occupe un emplacement supplémentaire dans le scope.
Conclusion
Bien qu'il soit Il n'est pas directement possible de créer une boucle for sans variable itératrice en Python, les alternatives ci-dessus fournissent des méthodes pour obtenir un effet similaire lorsque cela est nécessaire.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3