对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 相关文章推荐
用python实现批量重命名文件的代码
May 25 Python
Python getopt模块处理命令行选项实例
May 13 Python
Python中用于去除空格的三个函数的使用小结
Apr 07 Python
使用简单工厂模式来进行Python的设计模式编程
Mar 01 Python
Python爬虫代理IP池实现方法
Jan 05 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
Python按钮的响应事件详解
Mar 04 Python
python 字符串追加实例
Jul 20 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 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垃圾回收机制简单说明
2010/07/22 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
javascript数组详解
2014/10/22 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
python判断字符串是否包含子字符串的方法
2015/03/24 Python
python实现杨辉三角思路
2017/07/14 Python
快速查询Python文档方法分享
2017/12/27 Python
python内存管理机制原理详解
2019/08/12 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
元旦晚会邀请函
2014/02/01 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
食品安全责任书范本
2015/05/09 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android