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的多重继承的理解
Aug 06 Python
Django 导出 Excel 代码的实例详解
Aug 11 Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
python mysql断开重连的实现方法
Jul 26 Python
pytorch 自定义卷积核进行卷积操作方式
Dec 30 Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 Python
Python yield生成器和return对比代码实例
Apr 20 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 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中利用explode函数分割字符串到数组
2014/02/08 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
python实现旋转和水平翻转的方法
2018/10/25 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
几个SQL的面试题
2014/03/08 面试题
物业管理专业个人的自我评价
2013/11/19 职场文书
升职自荐信
2013/11/28 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
档案信息化建设方案
2014/05/16 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
希特勒的演讲稿
2014/05/23 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
党性修养心得体会2016
2016/01/21 职场文书
图解上海144收音机
2021/04/22 无线电