Como um loop for avalia seu argumento
Minha pergunta é muito simples.
Faz umfor
loop avalia o argumento que usa sempre?
Tal como:
for i in range(300):
O python cria uma lista de 300 itens para cada iteração desse loop?
Se for, é uma maneira de evitá-lo?
lst = range(300)
for i in lst:
#loop body
O mesmo vale para exemplos de código como este.
for i in reversed(lst):
for k in range(len(lst)):
O processo inverso é aplicado todas as vezes ou o comprimento calculado a cada iteração? (Peço isso para python2 e python3)
Caso contrário, como o Python avalia as alterações no iterável enquanto itera sobre ele?