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

 时间:2024-10-14 12:13:59

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读进来的数据如何进行删除
  • Creo拔模时怎么延伸相交曲面
  • VB.NET怎么单行注释与多行注释
  • 斗兽战棋手游怎么更换头像?
  • 如何定义有限元分析中的FLD Damage 准则
  • CAXA怎么启用undo/redo显示操作
  • 热门搜索
    芙蓉蛋的做法 过油肉土豆片的做法 韶怎么读 茄汁鱼罐头的做法 山药的家常做法 亲人去世怎么安慰 花卷的做法大全图解 电视怎么连接wifi 茄汁鱼的做法 韭菜的做法