对python list 遍历删除的正确方法详解


Posted in Python onJune 29, 2018

在遍历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 遍历删除的正确方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用70行Python代码实现一个递归下降解析器的教程
Apr 17 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 Python
Python中应该使用%还是format来格式化字符串
Sep 25 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
在python中使用pyspark读写Hive数据操作
Jun 06 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
Django DRF认证组件流程实现原理详解
Aug 17 Python
通过Python模块filecmp 对文件比较的实现方法
Jun 29 #Python
Python之列表的插入&替换修改方法
Jun 28 #Python
python 寻找list中最大元素对应的索引方法
Jun 28 #Python
对numpy.append()里的axis的用法详解
Jun 28 #Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 #Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 #Python
Python格式化日期时间操作示例
Jun 28 #Python
You might like
多重?l件?合查?(二)
2006/10/09 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP微信支付实例解析
2016/07/22 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
jQuery元素选择器实例代码
2017/02/06 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
webpack3之loader全解析
2017/10/26 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python 处理string到hex脚本的方法
2018/10/26 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
婴儿地球:Baby Earth
2018/12/25 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
会计系毕业求职信
2014/08/07 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python