时间:2021-05-22
在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下:
num_list = [1, 2, 3, 4, 5]print(num_list) for i in range(len(num_list)): if num_list[i] == 2: num_list.pop(i) else: print(num_list[i]) print(num_list)原因是在删除list中的元素后,list的实际长度变小了,但是循环次数没有减少,依然按照原来list的长度进行遍历,所以会造成索引溢出。
解决方案:倒序循环删除
num_list = [1, 2, 3, 4, 5]print(num_list) for i in range(len(num_list)-1, -1, -1): # for i in range(0, num_list.__len__())[::-1] if num_list[i] == 2: num_list.pop(i) else: print(num_list[i]) print(num_list)以上这篇对python list 遍历删除的正确方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
相信大家对集合遍历再熟悉不过了,这里总结一下HashMap和List的遍历方法,以及它们该如何实现遍历删除。这里对于每种遍历删除出现的问题的原因都给出了详解!(
总结本人在工作中经验教训。在使用list、set或map遍历删除某些元素时可以这样使用:正确使用方法1复制代码代码如下:std::list<int>List;s
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式:1.通过增强的for循环删除符合条件的多个
遍历删除List或Map中的元素有很多种方法,当运用不当的时候就会产生问题。下面通过这篇文章来再学习学习吧。一、List遍历过程中删除元素使用索引下标遍历的方式
python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l=[1,2,3,4]foriinl:ifi!=4:l