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利用elaphe制作二维条形码实现代码
May 25 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
OpenCV实现人脸识别
Apr 07 Python
Python实现简单生成验证码功能【基于random模块】
Feb 10 Python
python print 按逗号或空格分隔的方法
May 02 Python
python使用MQTT给硬件传输图片的实现方法
May 05 Python
pandas的qcut()方法详解
Jul 06 Python
python opencv捕获摄像头并显示内容的实现
Jul 11 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
基于Python编写一个监控CPU的应用系统
Jun 25 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整数取余返回负数的相关解决方法
2014/05/15 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
javascript 鼠标滚轮事件
2009/04/09 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
javascript 函数调用规则
2009/08/26 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
Python简明入门教程
2015/08/04 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
python实现计算图形面积
2021/02/22 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
匡威英国官网:Converse英国
2018/12/02 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
上班玩游戏检讨书
2014/02/07 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
世界名著读书笔记
2015/06/25 职场文书
期中考试后的感想
2015/08/07 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL