python3列表删除大量重复元素remove()方法的问题详解


Posted in Python onJanuary 04, 2021

前言

删除列表中的元素十分简单,有很多方法。使用最多的是remove方法,remove() 方法从集合中删除指定的元素。此方法与discard()方法不同,因为如果指定的项目不存在,remove() 方法将引发错误,而discard()方法不会。但是今天刚发现一个问题,remove在删除列表中重复的元素时,有时会漏掉,只删除了部分重复元素。

下面举一个例子:

删除num1列表中的0元素,思路就是遍历列表,然后删除元素。

期望输出:nums1 = [1, 2, 3]

实际输出:nums1 = [1, 2, 3, 0]

经过搜索后发现,出现以上问题的原因在于,列表的内存自动管理功能,在删除列表中的元素时,python会自动对列表内存进行收缩,并移动列表中的元素以保证元素之间没有间隙,所以使用“循环+remove()方法”来删除列表中某一重复元素时,如果存在相邻的该元素,在删除前面一个元素后,后一个元素会被移动到刚被删除的这个元素的位置,这样这个元素就“躲过了删除”

#删除num1列表中的0
nums1 = [1, 2, 3, 0, 0, 0]
  for j in nums1:
  if j == 0:
   nums1.remove(j)

解决办法:

对于以上问题,解决思路是统计列表中重复的元素,若重复元素的个数大于0,则进行remove。

nums1 = [1, 2, 3, 0, 0, 0] 
 while nums1.count(0) > 0:
  for j in nums1:
   if j == 0:
   nums1.remove(j)

参考文章:https://3water.com/article/203398.htm

总结

到此这篇关于python3列表删除大量重复元素remove()方法的文章就介绍到这了,更多相关python3列表删除大量重复元素内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
2款Python内存检测工具介绍和使用方法
Jun 01 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
python2.7和NLTK安装详细教程
Sep 19 Python
如何利用Python模拟GitHub登录详解
Jul 15 Python
Python面向对象封装操作案例详解 II
Jan 02 Python
python_mask_array的用法
Feb 18 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 Python
Python函数对象与闭包函数
Apr 13 Python
关于python中remove的一些坑小结
Jan 04 #Python
python中remove函数的踩坑记录
Jan 04 #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
You might like
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
node文字生成图片的示例代码
2017/10/26 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
详解vuex的简单使用
2018/03/12 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
Python生成短uuid的方法实例详解
2018/05/29 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
大学毕业生通用求职信
2013/09/28 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
迎元旦广播稿
2014/02/22 职场文书
干部对照检查材料范文
2014/08/26 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
原告代理词范文
2015/05/25 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
Golang 字符串的常见操作
2022/04/19 Golang
nginx lua 操作 mysql
2022/05/15 Servers