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中文件操作简明介绍
Apr 13 Python
python读取excel表格生成erlang数据
Aug 26 Python
python装饰器深入学习
Apr 06 Python
python判断完全平方数的方法
Nov 13 Python
从pandas一个单元格的字符串中提取字符串方式
Dec 17 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
Django 404、500页面全局配置知识点详解
Mar 10 Python
python上传时包含boundary时的解决方法
Apr 08 Python
Python是怎样处理json模块的
Jul 16 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 Python
Python实现冒泡排序算法的完整实例
Nov 04 Python
Python爬虫之爬取最新更新的小说网站
May 06 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
pyshp创建shp点文件的方法
2018/12/31 Python
详解python配置虚拟环境
2019/04/08 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
python中K-means算法基础知识点
2021/01/25 Python
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
外企办公室竞聘演讲稿
2013/12/29 职场文书
有关爱国演讲稿
2014/05/07 职场文书
大型活动组织方案
2014/05/10 职场文书
产品发布会策划方案
2014/05/12 职场文书
志愿者宣传口号
2014/06/17 职场文书
毕业实习计划书
2015/01/16 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
任命书格式模板
2015/09/22 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
PHP中多字节字符串操作实例详解
2021/08/23 PHP
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android