Как цикл for оценивает свой аргумент
Мой вопрос очень простой.
Делаетfor
цикл оценивает аргумент, который он использует каждый раз?
Такие как:
for i in range(300):
Создает ли python список из 300 элементов для каждой итерации этого цикла?
Если это так, это способ избежать этого?
lst = range(300)
for i in lst:
#loop body
То же самое касается примеров кода, подобных этому.
for i in reversed(lst):
for k in range(len(lst)):
Применяется ли обратный процесс каждый раз или длина рассчитывается на каждой итерации? (Я спрашиваю это как для python2, так и для python3)
Если нет, то как Python оценивает изменения итерируемого при его повторении?