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简单实现旋转图片的方法
May 30 Python
numpy自动生成数组详解
Dec 15 Python
Python查找第n个子串的技巧分享
Jun 27 Python
selenium+python自动化测试之页面元素定位
Jan 23 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
python分数表示方式和写法
Jun 26 Python
Python定时任务APScheduler的实例实例详解
Jul 22 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
Pytorch模型转onnx模型实例
Jan 15 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 Python
pandas求平均数和中位数的方法实例
Aug 04 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
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
2014过年倒计时示例
2014/01/31 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
js替代copy(示例代码)
2013/11/27 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
实例浅析js的this
2016/12/11 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Pandas中resample方法详解
2019/07/02 Python
python读写文件write和flush的实现方式
2020/02/21 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
酒店管理自荐信
2013/10/23 职场文书
自主招生自荐信格式
2013/12/03 职场文书
医学专业毕业生个人的求职信
2013/12/04 职场文书
大学系主任推荐信范文
2013/12/24 职场文书
《画家乡》教学反思
2014/04/22 职场文书
节水标语大全
2014/06/11 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
上诉答辩状范文
2015/05/22 职场文书
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android
Pandas数据结构之Series的使用
2022/03/31 Python