python中remove函数的踩坑记录
摘要:
在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操作涉及了列表下标的移动以及列表中元素的移动,涉及了一些关于数组的知识。其核心问题就是前面所说的。
到此这篇关于python中remove函数的踩坑记录的文章就介绍到这了,更多相关python中remove函数坑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- 在Python的列表中利用remove()方法删除元素的教程
- python dict remove数组删除(del,pop)
- python删除列表元素的三种方法(remove,pop,del)
- Python 使用os.remove删除文件夹时报错的解决方法
- 对python中数组的del,remove,pop区别详解
- 深入了解Python中pop和remove的使用方法
- Python列表删除元素del、pop()和remove()的区别小结
- Python列表list内建函数用法实例分析【insert、remove、index、pop等】
- python for循环remove同一个list过程解析
- Python如何在循环内使用list.remove()
相关文章
Python Matplotlib绘制箱型图(箱线图)boxplot的方法详解
箱线图(箱型图)主要作用是发现数据内部整体的分布分散情况,包括上下限、各分位数、异常值等,本文为大家整理了Matplotlib绘制箱型图的所以方法,希望对大家有所帮助2023-05-05
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
这篇文章主要介绍了Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法,结合实例形式较为详细的分析了协程的功能、原理及gevent、greenlet实现协程,以及协程实现多任务相关操作技巧,需要的朋友可以参考下2019-10-10
使用sklearn之LabelEncoder将Label标准化的方法
今天小编就为大家分享一篇使用sklearn之LabelEncoder将Label标准化的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-07-07
浅谈Python3 numpy.ptp()最大值与最小值的差
今天小编就为大家分享一篇浅谈Python3 numpy.ptp()最大值与最小值的差,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08


最新评论