对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 PIL模块与随机生成中文验证码
Feb 27 Python
简单了解python模块概念
Jan 11 Python
python 删除指定时间间隔之前的文件实例
Apr 24 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
python图形工具turtle绘制国际象棋棋盘
May 23 Python
python动态进度条的实现代码
Jul 03 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
Python统计文本词汇出现次数的实例代码
Feb 27 Python
Django静态资源部署404问题解决方案
May 11 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 Python
Python 制作自动化翻译工具
Apr 25 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语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
JavaScript 格式字符串的应用
2010/03/29 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
Sea.JS知识总结
2016/05/05 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
Python中字典和JSON互转操作实例
2015/01/19 Python
在Python中使用Mako模版库的简单教程
2015/04/08 Python
python遍历数组的方法小结
2015/04/30 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
python3爬虫中异步协程的用法
2020/07/10 Python
英国团购网站:Groupon英国
2017/11/28 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
经营管理策划方案
2014/05/22 职场文书
食品安全标语
2014/06/07 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS
mysql的单列多值存储实例详解
2022/04/05 MySQL