2020
09-24
09-24
Python中remove漏删和索引越界问题的解决
list.remove方法在删除元素的时候往往会出现漏删或者索引越界的情况示例如下:漏删:lst=[9,25,12,36]foriinlst:ifi>10:lst.remove(i)print(lst)>>>[9,12]那么为什么12被漏删了呢?其实原理很简单,如图:列表从下标为0开始遍历,遍历到25时,将25删除,返回一个新的列表:注意,原来的25对应的下标是1,所以系统会从下标为2的地方开始遍历,但是在新列表中,下标为2的地方变成了36,所以12就被跳过了。解决方法:只需要判...
继续阅读 >