62 votos

python el modo de hacer algo N veces

Cada día me gusta python más y más.

Hoy en día, yo estaba escribiendo algo de código como:

for i in xrange(N):
    do_something()

Yo tenía que hacer algo N veces. Pero cada vez que no dependen del valor de i (variable de índice). Me di cuenta de que estaba creando una variable nunca he usado (i), y yo pensé: "seguramente Hay más python manera de hacer esto sin la necesidad de que inútil variable de índice."

Así que... la pregunta es: ¿sabes cómo hacer esta simple tarea en una más (python) hermosa manera?

43voto

Alex Martelli Puntos 330805

Un poco más rápido enfoque de bucle en xrange(N) es:

import itertools

for _ in itertools.repeat(None, N):
    do_something()

20voto

GreenMatt Puntos 6301

El uso de _ la variable, como he aprendido que cuando le hice esta pregunta

10voto

Yo sólo uso for _ in range(n), es directo al punto. Va a generar la lista completa de los números enormes en Python 2, pero si estás usando Python 3 no es un problema.

6voto

Cox Chen Puntos 71

Supongamos que hemos definido do_something como una función, y que te gustaría realizar Nveces. Tal vez usted puede intentar lo siguiente:

todos = [do_something] * N  
for doit in todos:  
    doit()

5voto

Anycorn Puntos 20521

siendo la función ciudadanos de primera categoría, puedes escribir pequeños contenedor (de Alex respuestas)

def repeat(f, N):
    for _ in itertools.repeat(None, N): f()

a continuación, puede pasar de la función como argumento.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X