En un for
bucle Python que itera sobre una lista, podemos escribir:
for item in list:
print item
y pasa cuidadosamente por todos los elementos de la lista. ¿Hay alguna manera de saber dentro del bucle cuántas veces he estado haciendo bucles hasta ahora? Por ejemplo, quiero tomar una lista y después de haber procesado diez elementos, quiero hacer algo con ellos.
Las alternativas en las que pensé serían algo como:
count=0
for item in list:
print item
count +=1
if count % 10 == 0:
print 'did ten'
O:
for count in range(0,len(list)):
print list[count]
if count % 10 == 0:
print 'did ten'
¿Hay una mejor manera (al igual que la for item in list
) para obtener el número de iteraciones hasta ahora?
Respuestas:
La forma pitónica es usar
enumerate
:fuente
De acuerdo con Nick. Aquí hay un código más elaborado.
He comentado la variable de conteo en su código.
fuente
enumerate
elstart
parámetro opcional de '' para comenzar a enumerar con 1 en lugar de 0, aunque luego usaría el nombre del OP encount
lugar deidx
.Sé una pregunta bastante antigua, pero ... me encontré buscando otra cosa, así que le doy mi oportunidad:
fuente
Usando la función zip podemos obtener tanto el elemento como el índice.
Ver también :
Python.org
fuente
Intenta usar
itertools.count([n])
fuente