¿Es posible hacer un bucle `for` sin una variable iteradora? (¿Cómo puedo hacer que el código se repita un número determinado de veces?)
¿ Es posible hacer lo siguiente sin i
?
for i in range(some_number):
# do something
Si solo desea hacer algo N cantidad de veces y no necesita el iterador.
Aceptado
Fuera de mi cabeza, no.
Creo que lo mejor que puedes hacer es algo como esto:
def loop(f,n):
for i in xrange(n): f()
loop(lambda: <insert expression here>, 5)
Pero creo que puedes vivir con la i
variable adicional.
Aquí está la opción de usar la _
variable, que en realidad es una variable más.
for _ in range(n):
do_something()
Tenga en cuenta que _
se le asigna el último resultado que se devolvió en una sesión interactiva de Python:
>>> 1+2
3
>>> _
3
Por esta razón no lo usaría de esta manera. No conozco ningún modismo mencionado por Ryan. Puede arruinar a su intérprete.
>>> for _ in xrange(10): pass
...
>>> _
9
>>> 1+2
3
>>> _
9
Y según la gramática de Python , es un nombre de variable aceptable:
identifier ::= (letter|"_") (letter | digit | "_")*
usted puede estar buscando
for _ in itertools.repeat(None, times): ...
esta es LA forma más rápida de iterar times
tiempos en Python.