在练习循环删除list中元素时遇到了一点问题。最开始写的代码是
for i in range(len(list)): del list[i]
这样写到后来会报错,原因是随着列表元素的删除和i的增加,对列表元素的访问会越界。
后来改成了如下代码
while i < len(list): del list1[i]
结果顺利执行了,想必原因是每一次对while的条件进行判断时都会重新计算list的长度,但是在for语句当中,只执行了一次range。
在练习循环删除list中元素时遇到了一点问题。最开始写的代码是
for i in range(len(list)): del list[i]
这样写到后来会报错,原因是随着列表元素的删除和i的增加,对列表元素的访问会越界。
后来改成了如下代码
while i < len(list): del list1[i]
结果顺利执行了,想必原因是每一次对while的条件进行判断时都会重新计算list的长度,但是在for语句当中,只执行了一次range。