Я написал простую программу на питоне
l=[1,2,3,0,0,1]
for i in range(0,len(l)):
if l[i]==0:
l.pop(i)
Это дает мне ошибку «индекс списка вне диапазона» в строке if l[i]==0:
После отладки я смог выяснить, что i
увеличивается, а список уменьшается.
Однако у меня есть условие завершения цикла i < len(l)
. Тогда почему я получаю такую ошибку?
range(len(l))
, так как 0 — это начальное значение по умолчанию. - person abyx   schedule 25.11.2009l
(строчная буква el),O
(заглавная буква oh) илиI
(заглавная буква глаз) в качестве односимвольных имен переменных. python.org/dev/peps/pep-0008 - person Stephan202   schedule 25.11.2009range(0,len(l))
имеет результат, который меняется при измененииl
? Почему вы так думаете? Где ты это прочитал? - person S.Lott   schedule 26.11.2009