Python3,越界问题

为什么会越界?怎么解决呢?
想知道为什么!犯好几次错误了!

img

报错如下

img

别忘了你在循环过程中有del list[i]
当元素被删除后,你的range范围并没有变啊,继续到i=100的时候,肯定越界
但range似乎解决不了这个问题,建议改用while循环。当删除元素后,要将循环变量减去1,以及数组长度减去1

不建议直接使用 del命令进行删除,直接删除会导致list的长度发生变化,也就是你每次遍历的list长度都不一定一样长。
建议只用赋None然后用filter来过滤