Python列表元素删除和remove()方法详解
作者:Hello_xzy_Word 发布时间:2023-04-07 08:48:54
标签:python,列表,remove()方法
删除列表中元素的方法有三种:
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()方法”来删除列表中某一重复元素时,如果存在相邻的该元素,在删除前面一个元素后,后一个元素会被移动到刚被删除的这个元素的位置,这样这个元素就“躲过了删除”
对于以上问题代码可以做如下修改:
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]
来源:https://blog.csdn.net/qq_39514033/article/details/80807227
0
投稿
猜你喜欢
- 使用工具:pexpect库pexpect可以理解为Linux下expect(不知道的可以百度下linux expect)的python封装。
- 导读:由于banner一般用于专题类网站,在门户网站的二级页面,用户进来之前,在首页已经对主题有一定的了解和认识,所以banner的作用是在
- 前言和Word、Excel承载数据的能力相比,PPT的应用重点在于表演。比如一场发布会、一场演说、一次产品展示、一次客户沟通&hel
- K线数据提取依据原有数据集格式,按要求生成新表:1、每分钟的close数据的第一条、最后一条、最大值及最小值,2、每分钟vol数据的增长量(
- 不敢说得太明显太仔细,反正你懂的。有两种方法,一种是搭建本地授权服务器,另一种是直接替换核心文件,修改对应的注册码。先说第一种。 下载Int
- 1、说明GIL规定一个Python解释程序只能同时由一个线程控制。在CPU限制类型和多线程代码中,GIL是一个性能瓶颈。GIL使Python
- 1.首先到jetbrains下载专业版 https://www.jetbrains.com/pycharm/download/#sectio
- 用python另一个抢票神器,你get到了吗?2017年时间飞逝,转眼间距离2018年春节还有不到1个月的时间,还在为抢不到火车票发愁吗?作
- 前言我们在分析列表数据时,常常需要对列表数据进行输出或多列表关联拼接。直接使用列表,列表中的各元素以逗号分隔,每个元素包含引号。如何连接列表
- 如图,今天跑代码的事后遇到的问题,pycharm导入我自己写的各种函数.py文件时有红色标注,显示“no moudle balabala…”
- 最近研究验证码识别,需要生成大量验证码,最方便的是使用captcha库来生成验证码,网上代码仅仅使用默认设置,但是它还有很多参数可以设定,于
- update()方法添加键 - 值对到字典dict2。此函数不返回任何值。语法以下是update()方法的语法:dict.upd
- 本文实例为大家分享了python+openCV利用摄像头实现人员活动检测的具体代码,供大家参考,具体内容如下1.前言最近在做个机器人比赛,其
- 如何自动登陆京东?我们先来看一下京东的登陆页面,如下图所示:【插入图片,登陆页面】登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认
- 在我们修改过页面的某些数据后,通过想要把页面刷新一下,看看修改后的结果。由于vue的存在,页面是不会自动刷新的,需要我们手动进行操作。在vu
- anaconda中安装的python环境中没有pip3在使用anaconda配置的python环境时,发现在python环境中并没有安装pi
- 这里采用PyCharm专业版可以直接创建Django项目,这里面自动部署了Django的基本环境。在创建项目时选择Django项目:第一次建
- 1.合并1.1 结构合并将两个结构相同的数据合并1.1.1 concat函数函数配置:concat([dataFrame1, dataFra
- 原理 采集程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻采集程序,很多都是调用了sina的新闻网页,并且对其中
- Python读取相对路径文件例如下图目录结构:第一种情况1)xxx.py想要打开a.txt,使用相对路径,有如下两种方式:思路:xxx.py