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设计模式之观察者模式实例
Apr 26 Python
TensorFlow中权重的随机初始化的方法
Feb 11 Python
解决tensorflow模型参数保存和加载的问题
Jul 26 Python
python直接获取API传递回来的参数方法
Dec 17 Python
如何运行带参数的python脚本
Nov 15 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
Python PyQt5模块实现窗口GUI界面代码实例
May 12 Python
python如何求圆的面积
Jul 01 Python
Python爬虫之爬取淘女郎照片示例详解
Jul 28 Python
flask框架中的cookie和session使用
Jan 31 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
Feb 22 Python
python3读取文件指定行的三种方法
May 24 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缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
php for 循环使用的简单实例
2016/06/02 PHP
浅谈PHP的反射API
2017/02/26 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
土木建筑学生自我评价
2014/01/14 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
Java数据结构之堆(优先队列)
2022/05/20 Java/Android