Obtener el recuento de bucles dentro de un bucle for [duplicado]

Resuelto greye asked hace 14 años • 3 respuestas

Este forbucle itera sobre todos los elementos de una lista:

for item in my_list:
    print item

¿Hay alguna manera de saber dentro del bucle cuántas veces he estado realizando el bucle hasta ahora? Por ejemplo, quiero tomar una lista y después de haber procesado diez elementos quiero hacer algo con ellos.

Las alternativas que pensé serían algo como:

count=0
for item in my_list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'

O:

for count in range(0,len(my_list)):
    print my_list[count]
    if count % 10 == 0:
        print 'did ten'

¿Existe una forma mejor (como for item in my_list) de obtener el número de iteraciones hasta el momento?

greye avatar Jul 02 '10 05:07 greye
Aceptado

La forma pitónica es utilizar enumerate:

for idx, item in enumerate(my_list):
Nick Bastin avatar Jul 01 '2010 23:07 Nick Bastin

De acuerdo con Nick. Aquí hay un código más elaborado.

#count=0
for idx, item in enumerate(list):
    print item
    #count +=1
    #if count % 10 == 0:
    if (idx+1) % 10 == 0:
        print 'did ten'

He comentado la variable de recuento en su código.

Vikram Garg avatar Oct 16 '2013 08:10 Vikram Garg