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 09 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
Python八皇后问题解答过程详解
Jul 29 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
Jan 20 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
什么是python的函数体
Jun 19 Python
Python如何解除一个装饰器
Aug 07 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 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
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
js静态作用域的功能。
2006/12/25 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
学习python (1)
2006/10/31 Python
gearman的安装启动及python API使用实例
2014/07/08 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
Django实现学生管理系统
2019/02/26 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
澳大利亚相机之家:Camera House
2017/11/30 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
应届生自荐信范文
2014/02/21 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
颐和园的导游词
2015/01/30 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS