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 socket 超时设置 errno 10054
Jul 01 Python
python实现类的静态变量用法实例
May 08 Python
Python之Web框架Django项目搭建全过程
May 02 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
python安装教程
Feb 28 Python
Python过滤txt文件内重复内容的方法
Oct 21 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 Python
如何使用python代码操作git代码
Feb 29 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
使用tensorflow 实现反向传播求导
May 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
PHP多维数组元素操作类的方法
2016/11/14 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
JavaScript 原型链学习总结
2010/10/29 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
深入理解javascript变量声明
2014/11/20 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
python解析html开发库pyquery使用方法
2014/02/07 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
房产委托公证书样本
2014/04/04 职场文书
结对共建工作方案
2014/06/02 职场文书
暑期学习心得体会
2014/09/02 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
世界遗产导游词
2015/02/13 职场文书
Java 定时任务技术趋势简介
2022/05/04 Java/Android
服务器SVN搭建图文安装过程
2022/06/21 Servers