Em um for
loop Python que itera sobre uma lista, podemos escrever:
for item in list:
print item
e detalhadamente percorre todos os elementos da lista. Existe uma maneira de saber dentro do loop quantas vezes eu já fiz loop até agora? Por exemplo, quero fazer uma lista e depois de processar dez elementos, quero fazer algo com eles.
As alternativas em que pensei seria algo como:
count=0
for item in list:
print item
count +=1
if count % 10 == 0:
print 'did ten'
Ou:
for count in range(0,len(list)):
print list[count]
if count % 10 == 0:
print 'did ten'
Existe uma maneira melhor (assim como a for item in list
) de obter o número de iterações até agora?
Respostas:
A maneira pitônica é usar
enumerate
:fonte
Concordo com Nick. Aqui está um código mais elaborado.
Eu comentei a variável count no seu código.
fonte
enumerate
ostart
parâmetro opcional de para começar a enumerar com 1 em vez de 0, embora eu usasse o nome do OP emcount
vez deidx
.Eu sei pergunta bastante antiga, mas .... me deparei procurando outra coisa, então eu dou o meu tiro:
fonte
Usando a função zip, podemos obter o elemento e o índice.
Veja também :
Python.org
fonte
Tente usar
itertools.count([n])
fonte