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 相关文章推荐
对pandas中Series的map函数详解
Jul 25 Python
python语言元素知识点详解
May 15 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
python requests抓取one推送文字和图片代码实例
Nov 04 Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 Python
python实现3D地图可视化
Mar 25 Python
Python flask框架端口失效解决方案
Jun 04 Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 Python
python查询MySQL将数据写入Excel
Oct 29 Python
Python类型转换的魔术方法详解
Dec 23 Python
pytorch中的model=model.to(device)使用说明
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中实现进程间通讯
2006/10/09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
Python内置函数dir详解
2015/04/14 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
《赠汪伦》教学反思
2014/04/12 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
如何写好开幕词?
2019/06/24 职场文书
导游词之河北邯郸
2019/09/12 职场文书
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记