时间:2021-05-22
删除列表中元素的方法有三种:
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]
总结
到此这篇关于Python列表元素删除和remove()方法详解的文章就介绍到这了,更多相关Python列表元素删除和remove()方法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python关于删除list中的某个元素,一般有两种方法,pop()和remove()。remove()函数用于移除列表中某个值的第一个匹配项。remove()
前言在python列表的元素删除操作中,del,pop(),remove()很容易混淆,下面对三个语句/方法作出解释del语句del语句可以删除任何位置处的列表
前言删除列表中的元素十分简单,有很多方法。使用最多的是remove方法,remove()方法从集合中删除指定的元素。此方法与discard()方法不同,因为如果
python中关于删除list中的某个元素,一般有三种方法:remove、pop、del:1.remove:删除单个元素,删除首个符合条件的元素,按值删除举例说
Java集合删除元素ArrayList实例详解AbstractCollection集合类中有一个remove方法,该方法为了适配多种不同的集合,允许删除空的元素