python循环删除list中的元素

在练习循环删除list中元素时遇到了一点问题。最开始写的代码是

for i in range(len(list)):
    del list[i]

这样写到后来会报错,原因是随着列表元素的删除和i的增加,对列表元素的访问会越界。

后来改成了如下代码

while i < len(list):
    del list1[i]

结果顺利执行了,想必原因是每一次对while的条件进行判断时都会重新计算list的长度,但是在for语句当中,只执行了一次range。

  

  

 

posted @ 2020-04-02 00:21  z十万嬉皮  阅读(734)  评论(0编辑  收藏  举报