python初学者:从列表中删除特定条件的元素
#Python 初学者
在列表中删除特定条件的数
最初的想法:
结果:
报错说out of range
进入调试后发现,第二次循环后列表变成[9,19,7],于是再进入循环后,列表长度变为3,range(0,4)超出范围。改:
运行结果:
emmmm…… 这次没报错,但却不是我想要的结果,调试之后发现跳过了判断19。
remove删除元素的机制是将后面一个元素替换前面一个,del也是同样的机制。
最后的代码:
从后往前判断即可避免出现上述情况,代码成功了:
不过说到倒序下意识就用了[::-1]的方式,老师说这种方式意味着重新新建了一个列表,比较占内存,所以代码改为下图(三种方法都可以):
运行如下: