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中多线程及程序锁浅析
Jan 21 Python
python爬取淘宝商品详情页数据
Feb 23 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
Python实现微信好友的数据分析
Dec 16 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
python 如何调用远程接口
Sep 11 Python
pycharm 如何取消连按两下shift出现的全局搜索
Jan 15 Python
python实现监听键盘
Apr 26 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多种序列化/反序列化的方法详解
2017/06/23 PHP
JQuery小知识
2010/10/15 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
深入Python解释器理解Python中的字节码
2015/04/01 Python
在Django中创建动态视图的教程
2015/07/15 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
详解Python字符串切片
2019/05/20 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
美国温暖商店:The Warming Store
2018/12/15 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
公司委托书格式范本
2014/09/16 职场文书
个人优缺点总结
2015/02/28 职场文书
村官个人总结范文
2015/03/03 职场文书
保研推荐信范文
2015/03/25 职场文书
员工升职自荐信
2015/03/27 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
Python基础详解之邮件处理
2021/04/28 Python