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使用cookie库操保存cookie详解
Mar 03 Python
Python装饰器的函数式编程详解
Feb 27 Python
用Python实现web端用户登录和注册功能的教程
Apr 30 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
python在ubuntu中的几种安装方法(小结)
Dec 08 Python
Python常见工厂函数用法示例
Mar 21 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
Python3-异步进程回调函数(callback())介绍
May 02 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 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 MVC留言本实例代码(必看篇)
2016/09/22 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
2015/06/01 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
十个Python程序员易犯的错误
2015/12/15 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python实现批量文件重命名
2019/10/31 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
个性大学生自我评价
2013/12/04 职场文书
高中毕业生生活的自我评价
2013/12/08 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
春游踏青活动方案
2014/08/14 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
考试作弊检讨书
2014/10/21 职场文书
关于长城的导游词
2015/01/30 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技