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 03 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 Python
python爬虫使用cookie登录详解
Dec 27 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
Jan 29 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
使用python的turtle绘画滑稽脸实例
Nov 21 Python
python文件处理fileinput使用方法详解
Jan 02 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
通过cmd进入python的步骤
Jun 16 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
python munch库的使用解析
May 25 Python
总结三种用 Python 作为小程序后端的方式
May 02 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
php适配器模式简单应用示例
2019/10/23 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
学习js所必须要知道的一些
2007/03/07 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python机器学习实现决策树
2019/11/11 Python
python kafka 多线程消费者&手动提交实例
2019/12/21 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
个人现实表现材料
2014/02/04 职场文书
施工安全承诺书
2014/05/22 职场文书
个人委托书
2014/07/31 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
SQL注入的实现以及防范示例详解
2021/06/02 MySQL
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS