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 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
Python使用函数默认值实现函数静态变量的方法
Aug 18 Python
Python中集合类型(set)学习小结
Jan 28 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
浅谈python常用程序算法
Mar 22 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
Apache部署Django项目图文详解
Jul 30 Python
Python:slice与indices的用法
Nov 25 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
pytorch标签转onehot形式实例
Jan 02 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 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
2021年最新CPU天梯图
2021/03/04 数码科技
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
深入php self与$this的详解
2013/06/08 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
JS实现self的resend
2010/07/22 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
sails框架的学习指南
2014/12/22 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
Python中的列表生成式与生成器学习教程
2016/03/13 Python
python3音乐播放器简单实现代码
2020/04/20 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
大学学习个人的自我评价
2014/02/18 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
欢迎标语大全
2014/06/21 职场文书
学习保证书怎么写
2015/02/26 职场文书
旅游项目合作意向书
2015/05/08 职场文书
业务员管理制度范本
2015/08/06 职场文书
2015团员个人年度总结
2015/11/24 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python