python中对list遍历的过程中删除元素
来源:互联网 发布:手机强制卸载软件 编辑:程序博客网 时间:2024/05/19 13:29
记录自己踩过的坑,关于在遍历的过程中删除元素,浪费了我好长时间。
使用Iterator或索引直接遍历,然后进行删除操作会造成list的index溢出和结果错误。这是因为当你删除元素时,游标会进行更新,list的len也会产生变化,导致结果不对。
这里推荐两种在遍历过程中进行删除操作的方法:
1. 复制一个list,然后再源list上做删除操作
2. 采用逆序进行遍历
首先介绍第一个方法:
num_list = [1, 2, 3, 4, 5]print(num_list)for item in num_list[:]: if item == 2: num_list.remove(item) else: print(item)print(num_list)代码是直接copy的,意思到了行
主要是使用num_list[:]对源list进行复制,然后在源list进行删除操作
第二个方法就是逆序遍历,然后进行删除操作
num_list = [1, 2, 3, 4, 5]print(num_list)for i in range(len(num_list)-1, -1, -1): if num_list[i] == 2: num_list.pop(i) else: print(num_list[i])print(num_list)。
上面两种方法可以实现在遍历list的过程中正确的删除元素
0 0
- python中对list遍历的过程中删除元素
- 在遍历List的过程中删除元素
- List遍历中删除元素
- python中list用法及遍历删除元素
- STL中list,遍历删除元素注意事项
- Java List遍历中删除元素
- 正确在遍历中删除List元素
- java中List遍历删除元素
- 正确遍历中删除list元素
- JAVA中关于遍历List时删除元素的实践
- stl在遍历过程中删除元素
- Java Map遍历过程中删除元素
- STL容器:在遍历的过程中删除元素
- 在循环过程中删除List的元素
- python中list(元组)删除元素的方法
- python中List添加,删除元素的几种方法
- python中List添加、删除元素的几种方法
- python中List添加、删除元素的几种方法
- cookie窃取和session劫持
- Guava中EventBus并发处理事件
- c# GDI+ 的使用绘图
- 按应用名称杀掉进程
- C#+VTK+VS2010环境配置--方法2
- python中对list遍历的过程中删除元素
- 【Android7.1.2源码解析系列】android init目录下的Android.mk编译文件分析
- 奇异值的物理意义
- spring事物管理
- idea全系列激活
- PicWordView 图文混排自定义View
- CodeForces 645 D.Robot Rapping Results Report(二分+dfs)
- Java中 PO、DO、DTO、VO、FormBean的通俗解释
- Vue2路由动画效果实现