对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中用memcached来减少数据库查询次数的教程
Apr 07 Python
python基于itchat实现微信群消息同步机器人
Feb 27 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
Python中super函数的用法
Nov 17 Python
Python实现ping指定IP的示例
Jun 04 Python
对numpy中shape的深入理解
Jun 15 Python
python读取一个目录下所有txt里面的内容方法
Jun 23 Python
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
90行Python代码开发个人云盘应用
Apr 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
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
php自定义hash函数实例
2015/05/05 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
JS前端加密算法示例
2016/12/22 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
如何通过python实现人脸识别验证
2020/01/17 Python
python时间日期操作方法实例小结
2020/02/06 Python
python删除某个目录文件夹的方法
2020/05/26 Python
Python如何输出警告信息
2020/07/30 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
一套VC试题
2015/01/23 面试题
期终自我鉴定
2014/02/17 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
授权收款委托书范本
2014/10/10 职场文书
2014年文员工作总结
2014/11/18 职场文书
公司禁烟通知
2015/04/23 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
解决vue中provide inject的响应式监听
2022/04/19 Vue.js
利用Java连接Hadoop进行编程
2022/06/28 Java/Android