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 相关文章推荐
python函数返回多个值的示例方法
Dec 04 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
python 设置文件编码格式的实现方法
Dec 21 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
Python找出微信上删除你好友的人脚本写法
Nov 01 Python
Python中super函数用法实例分析
Mar 18 Python
python3正则模块re的使用方法详解
Feb 11 Python
Python3将ipa包中的文件按大小排序
Apr 17 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
python利用xlsxwriter模块 操作 Excel
Oct 14 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 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中利用XML技术构造远程服务(上)
2006/10/09 PHP
提升PHP速度全攻略
2006/10/09 PHP
第五节--克隆
2006/11/16 PHP
apache rewrite_module模块使用教程
2008/01/10 PHP
一个典型的PHP分页实例代码分享
2011/07/28 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
javascript中length属性的探索
2011/07/31 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
Python之web模板应用
2017/12/26 Python
Python线性回归实战分析
2018/02/01 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
python批量处理txt文件的实例代码
2020/01/13 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
文明演讲稿范文
2014/05/12 职场文书
现场活动策划方案
2014/08/22 职场文书
健康状况证明模板
2014/10/23 职场文书
2015年复活节活动总结
2015/02/27 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs