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 相关文章推荐
使用paramiko远程执行命令、下发文件的实例
Oct 01 Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 Python
tensorflow实现KNN识别MNIST
Mar 12 Python
Pandas 对Dataframe结构排序的实现方法
Apr 10 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
python找出完数的方法
Nov 12 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
django url到views参数传递的实例
Jul 19 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
Idea安装python显示无SDK问题解决方案
Aug 12 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动态图像的创建
2006/10/09 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
phpinfo的知识点总结
2019/10/10 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
vue中使用极验验证码的方法(附demo)
2019/12/04 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
在Python中使用判断语句和循环的教程
2015/04/25 Python
解析Python编程中的包结构
2015/10/25 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
python IP地址转整数
2020/11/20 Python
实习单位接收函模板
2014/01/10 职场文书
气象学专业个人求职信
2014/03/15 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
建筑学专业自荐书
2014/07/09 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
关于感谢信的范文
2015/01/23 职场文书
结婚老公保证书
2015/02/26 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
2016年教师节感言
2015/12/09 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
sql注入报错之注入原理实例解析
2022/06/10 MySQL