1、首先我们先演示一下Python列表的remove的效果:代码如下d=[1,2,3,4,5,1,1]d.remove(1)print(d)可以看到的,这里删除1,只删除了下标最小的那个元素
2、实现方法1:先将列表转换为set,以此来去掉重复元素,然后转换为list,再排序sorted一下(排序的原因是转换为s髫潋啜缅et之后,元素的顺序不一定还是原来的顺序)代码入下:#删除列表中更某个值得所有元素,可以利用python中set的元素唯一性,先将entry转换为set再删除entry=["1","1","2"]entry=list(set(entry))entry.remove("1")print(entry)print(list(set(entry)))#print(list(set(entry)).sort())print(sorted(list(set(entry))))
3、第二种方式:利用for循环遍历找到要删除的元素,然后删除它(但是要注意的,遍历的时候应该从后往前遍历,否则会出现列表越界,因为帏渍栉啻删除元素之后,列表的最大下标也变了)下面演示错误的方法:(代码复制到这过来缩进会变,记得修改)c=[1,2,4,1,1,2]for i in range(len(c)): if c[i]==1: c.remove(1)print(c)
4、然后下面给出第二种方法的正确代码:c=[1,2,4,1,1,2]for i in range(len(c)-1,-1,-1): if c[i]==1: c.remove(1)print(c)
5、第三种方法,使用列表解析式的方法实现,代码如下:entry=["1",争犸禀淫"1","2"]entry=[entry[i柯计瓤绘] for i in range(0,len(entry)) if entry[i]!="1"]print(entry)代码解析for i in range(0,len(entry)) 循环遍历if entry[i]!="1"循环遍历中判断entry[i]代表对取出来的原列表相关值操作最后返回一个新列表
6、第四种方式:利用filter和lambda表达式,代码如下:arr=[1,1,3]print(list(filter(lambda x:x!=1,arr)))