python中remove函数的踩坑记录
作者:JonnyJiang-zh 时间:2022-10-25 18:32:50
摘要:
在python的使用过程中,难免会遇到要移除列表中对象的要求。这时可以使用remove函数。
对于python中的remove()函数,官方文档的解释是:Remove first occurrence of value.大意也就是移除列表中等于指定值的第一个匹配的元素。
语法
list.remove()
参数
obj 参数:从列表中删除的对象的索引
返回值
删除后不会返回值
常见用法:
a = [1,2,3,4],a.remove(1),然后a就是[2,3,4];对于a = [1,1,1,2],其结果也是[1,1,2],这是最基本的用法。
但是对于下面这个:
a = [1,2,3,4]
for i in a:
a.remove(i)
# 结果
a = [2,4]
或者说
a = [1,1,1,1,1,2]
for i in a:
a.remove(1)
#结果
a = [1,1,2]
是不是跟想象中的不一样,其主要原因如下(^表示当前迭代器位于列表中的位置):
a = [ 1 , 2 , 3 , 4]
假设此时 ^
默认情况下只想第一个元素,然后执行a.remove(1),然后下标向后移动,列表因为删除了元素,后面的向前移动,如下:
a = [ 2 , 3 , 4]
此时 ^
此时执行a.remove(3),重复上面的移动
a = [ 2 , 4]
此时 ^
因为已经到了列表的边界,故结束遍历,并返回`a = [2,4]`。
解决办法:
# 一下为解决办法之一
d = dict(zip(range(len(a)), a))
[v for k, v in d.items() if v != value]
总结:
关于python列表的remove操作涉及了列表下标的移动以及列表中元素的移动,涉及了一些关于数组的知识。其核心问题就是前面所说的。
来源:https://www.cnblogs.com/JonnyJiang-zh/p/13799533.html
标签:python,remove函数,坑
0
投稿
猜你喜欢
Sql Server 查询性能优化之走出索引的误区分析
2012-05-22 18:56:52
对python 树状嵌套结构的实现思路详解
2022-02-04 15:45:06
基于centos7快速安装mysql5.7教程解析
2024-01-26 14:59:28
Python爬虫采集Tripadvisor数据案例实现
2022-01-28 14:54:28
JavaScript中的"类" 序言
2008-02-18 13:26:00
python创建学生成绩管理系统
2023-08-09 04:19:38
Python中排序函数sorted()函数的使用实例
2021-08-01 09:52:02
从if else到switch case再到抽象
2010-11-05 18:30:00
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2024-04-10 13:58:29
vue实现触底查询功能
2024-04-30 10:25:01
golang 中 channel 的详细使用、使用注意事项及死锁问题解析
2024-04-26 17:26:45
用asp获取微软安全更新列表的代码 小偷程序
2011-02-24 11:19:00
解决pycharm下载库时出现Failed to install package的问题
2021-07-30 14:15:49
Python在字典中获取带权重的随机值实现方式
2022-12-11 05:21:44
Layui 数据表格批量删除和多条件搜索的实例
2024-04-10 10:43:56
mysql中的sql_mode模式实例详解
2024-01-19 14:56:45
浅谈python数据类型及类型转换
2023-08-28 15:25:32
python画条形图实例
2023-12-04 12:32:33
python实现异常信息堆栈输出到日志文件
2022-04-26 20:26:21
vuejs事件中心管理组件间的通信详解
2024-05-22 10:44:27