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 相关文章推荐
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
django静态文件加载的方法
May 20 Python
Python使用sorted对字典的key或value排序
Nov 15 Python
使用python将图片按标签分入不同文件夹的方法
Dec 08 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
Python使用Shelve保存对象方法总结
Jan 28 Python
基于Python函数和变量名解析
Jul 19 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
Python openpyxl模块原理及用法解析
Jan 19 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
python+opencv边缘提取与各函数参数解析
Mar 09 Python
使用Python将语音转换为文本的方法
Aug 10 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无法访问远程mysql的问题分析及解决
2013/05/16 PHP
Chrome Web App开发小结
2014/09/04 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
JS简单实现数组去重的方法分析
2017/10/14 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
js实现消灭星星(web简易版)
2020/03/24 Javascript
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python中while和for的区别总结
2019/06/28 Python
python匿名函数用法实例分析
2019/08/03 Python
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
债务追讨授权委托书范本
2014/10/16 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
法学专业求职信范文
2015/03/19 职场文书
反腐倡廉观后感
2015/06/08 职场文书
吴仁宝观后感
2015/06/09 职场文书
公司员工离职感言
2015/08/03 职场文书
初中政教处工作总结
2015/08/12 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript