对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 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
python使用magic模块进行文件类型识别方法
Dec 08 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
Python 给下载文件显示进度条和下载时间的实现
Apr 02 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
详解用Python调用百度地图正/逆地理编码API
Jul 02 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
Nov 28 Python
python_tkinter弹出对话框创建
Mar 20 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
PHP与MySQL交互使用详解
2006/10/09 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
PHP培训要多少钱
2017/06/06 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
Angular的$http与$location
2016/12/26 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Python3最长回文子串算法示例
2019/03/04 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
学习Django知识点分享
2019/09/11 Python
python文字转语音的实例代码分析
2019/11/12 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
世界上最大的二手相机店:KEN
2017/05/17 全球购物
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
捐款活动总结
2014/08/27 职场文书
2014年体育部工作总结
2014/11/13 职场文书