python中remove函数的踩坑记录


Posted in Python onJanuary 04, 2021

摘要:

在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 相关文章推荐
Python中运行并行任务技巧
Feb 26 Python
python中enumerate函数用法实例分析
May 20 Python
深入理解python中的select模块
Apr 23 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
Python3内置模块random随机方法小结
Jul 13 Python
tensorflow的计算图总结
Jan 12 Python
执行Python程序时模块报错问题
Mar 26 Python
python求解汉诺塔游戏
Jul 09 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
python制作微博图片爬取工具
Jan 16 Python
Python 中的函数装饰器和闭包详解
Feb 06 Python
python 日志模块logging的使用场景及示例
Jan 04 #Python
python 邮件检测工具mmpi的使用
Jan 04 #Python
Python3中的tuple函数知识点讲解
Jan 03 #Python
python中pivot()函数基础知识点
Jan 03 #Python
python regex库实例用法总结
Jan 03 #Python
Python爬虫之Selenium库的使用方法
Jan 03 #Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 #Python
You might like
coreseek 搜索英文的问题详解
2013/06/08 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
PDO::_construct讲解
2019/01/27 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
用js遍历 table的脚本
2008/07/23 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
python实现八大排序算法(1)
2017/09/14 Python
python实现神经网络感知器算法
2017/12/20 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python微信公众号开发平台
2018/01/25 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
优秀求职自荐信怎样写
2013/12/18 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
Python一些基本的图像操作和处理总结
2021/06/23 Python