Python列表元素删除和remove()方法详解


Posted in Python onJanuary 04, 2021

删除列表中元素的方法有三种:

1. del命令

使用del命令能够删除列表中指定位置上的元素,也可以删除整个列表。

2. pop( )方法

使用列表的pop()方法能够删除并返回列表指定位置(默认为最后一个位置)的元素。

3. remove方法

使用列表的remove()方法能够删除列表中首次出现的指定元素,如果列表中不存在该元素则抛出异常。有的时候可能需要删除列表中某一大量重复的数据,我们很容易就会想到列表的remove()方法,例如:

x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
 if i==1:
  x.remove(i)
print("List_1=",x)
for i in y:
 if i==1:
  y.remove(i)
print("List_2=",y)

结果:

List_1= [2, 2, 2, 2]
 
List_2= [2, 2, 2, 1, 1, 2]

但是当我们在具体实现时很可能会遇到意想不到的错误,代码有的时候能够达到预期的删除所有重复元素的效果,有的时候只能删除部分重复元素,如上例所示。比较两个列表,发现,列表x中所有的1都是不相邻的,列表y中有的1是相邻的。出现以上问题的原因在于,列表的内存自动管理功能,在删除列表中的元素时,python会自动对列表内存进行收缩,并移动列表中的元素以保证元素之间没有间隙,所以使用“循环+remove()方法”来删除列表中某一重复元素时,如果存在相邻的该元素,在删除前面一个元素后,后一个元素会被移动到刚被删除的这个元素的位置,这样这个元素就“躲过了删除”

Python列表元素删除和remove()方法详解

对于以上问题代码可以做如下修改:

x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
 if i==1:
  x.remove(i)
print("List_1=",x)
while y.count(1)>0://或者while 1 in y:
 for i in y:
  if i==1:
   y.remove(i)
print("List_2=",y)

输出结果:

List_1= [2, 2, 2, 2]
 
List_2= [2, 2, 2, 2]

总结

到此这篇关于Python列表元素删除和remove()方法详解的文章就介绍到这了,更多相关Python列表元素删除和remove()方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python统计一个文本中重复行数的方法
Nov 19 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
python生成圆形图片的方法
Mar 25 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
python如何实现内容写在图片上
Mar 23 Python
python中pylint使用方法(pylint代码检查)
Apr 06 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
pytorch中的transforms模块实例详解
Dec 31 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 #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
You might like
PHP中的类-什么叫类
2006/11/20 PHP
php array的学习笔记
2012/05/16 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
php自定义hash函数实例
2015/05/05 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
php图片裁剪函数
2018/10/31 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python 除法小技巧
2008/09/06 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
pandas 选择某几列的方法
2018/07/03 Python
Django添加sitemap的方法示例
2018/08/06 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
python中的测试框架
2020/11/13 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
HTML5中使用postMessage实现两个网页间传递数据
2016/06/22 HTML / CSS
英国高街电视:High Street TV
2018/05/22 全球购物
实习教师自我鉴定
2013/09/27 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
一般党员对照检查材料
2014/09/24 职场文书
租车协议书范本2014
2014/11/17 职场文书