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 相关文章推荐
将Emacs打造成强大的Python代码编辑工具
Nov 20 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 Python
PyTorch学习笔记之回归实战
May 28 Python
Django添加feeds功能的示例
Aug 07 Python
python实现flappy bird小游戏
Dec 24 Python
python pytest进阶之conftest.py详解
Jun 27 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
常用python爬虫库介绍与简要说明
Jan 25 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
Python使用UDP实现720p视频传输的操作
Apr 24 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
php json_encode奇怪问题说明
2011/09/27 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
PHP文件上传类实例详解
2016/04/08 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
显示、隐藏密码
2006/07/01 Javascript
繁简字转换功能
2006/07/19 Javascript
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
python线程池如何使用
2020/05/28 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
后勤采购员岗位职责
2013/12/19 职场文书
会计岗位描述
2014/02/22 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书