Что касается python, когда речь заходит о цикле for, будет ли он переоценивать верхнюю границу перед повторной итерацией?
Скажем, у меня есть следующий сценарий:
def remove(self,list,element):
for x in range(0,len(list)):
if somecondition:
list.pop(x)
Будет ли пересмотрено условие len(list)
перед выполнением следующей итерации цикла for
?(Как и в некоторых языках, таких как Objective-C, я считаю) Как и в противном случае, если количество элементов выталкивается, возникает ошибка вне границ, если, скажем, 1 элемент был удален, и последняя итерация будет пытаться получить доступ к list[len(list)-1]
.
Я пытался исследовать это сам, однако результаты каждый раз запутаны.
Редактировать : Я считаю, что мой вопрос отличается от вопроса, помеченного как дубликат, поскольку мой вопрос касается условия продолжения цикла до следующей итерации, он может легкодобавление элемента вместо удаления элемента.
Для пояснения, мой вопрос спрашивает, будет ли условие цикла for перепроверять условия, заданные перед следующей итерацией.