对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 paramiko实现ssh远程访问的方法
Dec 03 Python
python中的yield使用方法
Feb 11 Python
Python下的Mysql模块MySQLdb安装详解
Apr 09 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
详解django中url路由配置及渲染方式
Feb 25 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
python基础教程之while循环
Aug 14 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
Prometheus开发中间件Exporter过程详解
Nov 30 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 Python
matplotlib更改窗口图标的方法示例
Feb 03 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 模板高级篇总结
2006/12/21 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
2009/08/09 Javascript
js自定义事件代码说明
2011/01/31 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
vue实现文字加密功能
2019/09/27 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
Python操作json数据的一个简单例子
2014/04/17 Python
python如何对实例属性进行类型检查
2018/03/20 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
在python image 中实现安装中文字体
2020/05/16 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
python switch 实现多分支选择功能
2020/12/21 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
保护水资源的标语
2014/06/17 职场文书
初三毕业感言
2015/07/31 职场文书
考试后的感想
2015/08/07 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers