在遍历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 遍历删除的正确方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍正确遍历删除List中的元素方法(推荐),包括了正确遍历删除List中的元素方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合条件的一个元素 3.通过普通的for删除删除符合条件的多
本文向大家介绍jQuery 遍历map()方法详解,包括了jQuery 遍历map()方法详解的使用技巧和注意事项,需要的朋友参考一下 一、定义和用法 map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。 二、语法 三、详细说明 由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组 四、案例: 总结 以上就是这篇文章的
本文向大家介绍C#遍历List并删除某个元素的方法,包括了C#遍历List并删除某个元素的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了C#遍历List并删除某个元素的方法。分享给大家供大家参考。具体如下: 1、我们选择用for循环: 如果这样循环,肯定不对, {A B C D E F G H} 假设当前遍历到D(i=3),移除,接着遍历i=4(F), 此时跳过了E(i=3) 2、
本文向大家介绍Oracle删除archivelog文件的正确方法,包括了Oracle删除archivelog文件的正确方法的使用技巧和注意事项,需要的朋友参考一下 Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间。 问题:如何定期正确删除archivelog文件呢? 很多人直接在arch
本文向大家介绍对python_discover方法遍历所有执行的用例详解,包括了对python_discover方法遍历所有执行的用例详解的使用技巧和注意事项,需要的朋友参考一下 当我们写了一个单个py的测试文件时直接运行就ok了,但当我们有很多很多个这样的py时,难道要一个一个的点击来运行吗,当然不是。我们可以通过discover方法来找到所有的用例。 下面直接举例说明discover用法: 一
本文向大家介绍python3 遍历删除特定后缀名文件的方法,包括了python3 遍历删除特定后缀名文件的方法的使用技巧和注意事项,需要的朋友参考一下 U盘中毒了,U盘内的每个文件夹内都多了一个.lnk文件,处女座又犯了,实在不能忍,就写了个脚本把所有的.lnk文件删除了。 多级目录递归删除 把这个脚本另存为rm.py,然后放到U盘根目录,cd进入到U盘根目录,然后: python rm.py 就