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 相关文章推荐
wxpython学习笔记(推荐查看)
Jun 09 Python
11个并不被常用但对开发非常有帮助的Python库
Mar 31 Python
Python每天必学之bytes字节
Jan 28 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
python操作 hbase 数据的方法
Dec 18 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
使用wxpy实现自动发送微信消息功能
Feb 28 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 Python
python基础入门之字典和集合
Jun 13 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 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
自动分页的不完整解决方案
2007/01/12 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
JS实现秒杀倒计时特效
2020/01/02 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
Python线程协作threading.Condition实现过程解析
2020/03/12 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
python中time.ctime()实例用法
2021/02/03 Python
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
.net C#面试题
2012/08/28 面试题
写自荐信的七个技巧
2013/10/15 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
认购协议书范本
2014/04/22 职场文书
电子商务专业自荐信
2014/06/02 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
个人租房协议书
2014/11/28 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android