Python While Loop Avaliação Condição
-
21-08-2019 - |
Pergunta
Say Eu tenho o seguinte loop:
i = 0
l = [0, 1, 2, 3]
while i < len(l):
if something_happens:
l.append(something)
i += 1
Será que a condição len(i)
sendo avaliada no loop while ser atualizados quando algo é anexado ao l
?
Solução
Sim, vai.
Outras dicas
Seu código irá funcionar, mas usando um contador de loop muitas vezes não é considerado muito "pythônico". Usando for
funciona tão bem e elimina o contador:
>>> foo = [0, 1, 2]
>>> for bar in foo:
if bar % 2: # append to foo for every odd number
foo.append(len(foo))
print bar
0
1
2
3
4
Se você precisa saber como "longe" na lista que você é, você pode usar enumerate
:
>>> foo = ["wibble", "wobble", "wubble"]
>>> for i, bar in enumerate(foo):
if i % 2: # append to foo for every odd number
foo.append("appended")
print bar
wibble
wobble
wubble
appended
appended
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow