В for
цикле Python, который перебирает список, мы можем написать:
for item in list:
print item
и он аккуратно проходит через все элементы в списке. Есть ли способ узнать в цикле, сколько раз я зацикливался до сих пор? Например, я хочу взять список, и после обработки десяти элементов я хочу что-то с ними сделать.
Альтернативы, о которых я думал, будут примерно такими:
count=0
for item in list:
print item
count +=1
if count % 10 == 0:
print 'did ten'
Или:
for count in range(0,len(list)):
print list[count]
if count % 10 == 0:
print 'did ten'
Есть ли лучший способ (так же, как for item in list
), чтобы получить количество итераций до сих пор?
Ответы:
Питонический способ заключается в использовании
enumerate
:источник
Согласен с Ником. Вот более сложный код.
Я закомментировал переменную count в вашем коде.
источник
enumerate
необязательныйstart
параметр, чтобы начать перечисление с 1 вместо 0, хотя тогда я бы использовал имя OPcount
вместоidx
.Я знаю довольно старый вопрос, но .... наткнулся на другую вещь, поэтому я даю свой шанс:
источник
Используя функцию zip, мы можем получить как элемент, так и индекс.
Смотрите также :
Python.org
источник
Попробуйте использовать
itertools.count([n])
источник