对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 相关文章推荐
windows下安装python paramiko模块的代码
Feb 10 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python selenium如何设置等待时间
Sep 15 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
Dec 12 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
Mar 06 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
Python参数传递对象的引用原理解析
May 22 Python
python实现学生信息管理系统(精简版)
Nov 27 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 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
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
初识ThinkPHP控制器
2016/04/07 PHP
json2.js的初步学习与了解
2011/10/06 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
2017/01/21 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
python中defaultdict的用法详解
2017/06/07 Python
Python yield的用法实例分析
2020/03/06 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
请解释接口的显式实现有什么意义
2012/05/26 面试题
生物技术专业研究生自荐信
2013/09/22 职场文书
大学教师年终总结的自我评价
2013/10/29 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
教师个人读书活动总结
2014/07/08 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
新员工入职感言范文!
2019/07/04 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers