对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 七种邮件内容发送方法实例
Apr 22 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
Python 列表理解及使用方法
Oct 27 Python
tensorflow实现逻辑回归模型
Sep 08 Python
详解Python with/as使用说明
Dec 13 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
python3实现微型的web服务器
Sep 03 Python
使用python求解二次规划的问题
Feb 29 Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 Python
聊聊Python String型列表求最值的问题
Jan 18 Python
Python学习之os包使用教程详解
Mar 21 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
农民C键的运用技巧
2020/03/04 星际争霸
elgg 获取文件图标地址的方法
2010/03/20 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
摘自启点的main.js
2008/04/20 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
深入理解python中的select模块
2017/04/23 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
.NET概念性的面试题
2012/02/29 面试题
天网面试题
2013/04/07 面试题
作弊检讨书1000字
2014/02/01 职场文书
物理教学随笔感言
2014/02/22 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
关于环保的宣传稿
2015/07/23 职场文书
早恋主题班会
2015/08/14 职场文书
学习经验交流会策划书
2015/11/02 职场文书
2016党校培训心得体会
2016/01/07 职场文书
Django框架中视图的用法
2022/06/10 Python