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 相关文章推荐
centos系统升级python 2.7.3
Jul 03 Python
python 排序算法总结及实例详解
Sep 28 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
Python模拟三级菜单效果
Sep 11 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
基于Python下载网络图片方法汇总代码实例
Jun 24 Python
使用Keras建立模型并训练等一系列操作方式
Jul 02 Python
python通过函数名调用函数的几种方法总结
Jun 07 Python
Python Django获取URL中的数据详解
Nov 01 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字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
PHP编写RESTful接口
2016/02/23 PHP
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
JavaScript对数字的判断与处理实例分析
2015/02/02 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
jQuery.Validate表单验证插件的使用示例详解
2017/01/04 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
浅析Python中的join()方法的使用
2015/05/19 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
python与C互相调用的方法详解
2017/07/14 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
python将list转为matrix的方法
2018/12/12 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
python切割图片的示例
2020/11/12 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
公司回复函格式
2015/07/14 职场文书
决心书格式范文
2015/09/23 职场文书
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android