python中用list读进来的数据如何进行删除

2025-05-15 18:43:43

1、初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常。

python中用list读进来的数据如何进行删除

2、原因是在删除list中的元素后,list的实际长度变小了,但是循环次数没有减少,依然按照原来list的长度进行遍历,所以会造成索引溢出。

python中用list读进来的数据如何进行删除

3、虽然最后,list中的元素确实被删除掉了,但是,在循环中的打印结果不对,少打印了。

python中用list读进来的数据如何进行删除

4、当符合条件,删除元素之后,后面的元素全部往前移,于是向前移动,那么元素的索引,就变成了之前的索引(现在下标索引变为1了),后面的元艾绱书虻素以此类推。可是,下一次for循环的时候,是从下标索引开始的,于是,取出了元素,就漏掉了。

python中用list读进来的数据如何进行删除

5、既然用for循环不行,那就换个思路,用埂黉餐嚣循环。每次循环的时候,都会去检查list的长度,这样,就避免了索引溢出,然后,在掼屐磴磨符合条件,删除元素之后,手动把当前下标索引,以使下一次循环的时候,通过后的下标索引取出来的元素,而不是略过。

python中用list读进来的数据如何进行删除

6、执行结果完全正确。那么,为何正序循环时删除就有问题,而倒序循环时删除。删除元素之后,下一次循环的下标索引,但此时,里面存放,于是就把给漏了。

python中用list读进来的数据如何进行删除
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢