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中使用语句导入模块或包的机制研究
Mar 30 Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 Python
django 2.0更新的10条注意事项总结
Jan 05 Python
在python中使用with打开多个文件的方法
Jan 07 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
Python识别验证码的实现示例
Sep 30 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
python subprocess pipe 实时输出日志的操作
Dec 05 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php实现无限级分类
2014/12/24 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
PHP SOCKET编程详解
2015/05/22 PHP
QQ登录简单实现代码
2021/03/09 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
python实现字符串和日期相互转换的方法
2015/05/13 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python中的协程深入理解
2019/06/10 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
银行学习十八大感想
2014/01/11 职场文书
大一新生学期自我评价
2014/04/09 职场文书
诚信考试标语
2014/06/24 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
给老婆道歉的话
2015/01/20 职场文书
教学反思怎么写
2016/02/24 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS