python删除列表中的某个值的全部元素
来源:网络收集 点击: 时间:2024-03-09首先我们先演示一下Python列表的remove的效果:代码如下
d=
d.remove(1)
print(d)
可以看到的,这里删除1,只删除了下标最小的那个元素

实现方法1:先将列表转换为set,以此来去掉重复元素,然后转换为list,再排序sorted一下(排序的原因是转换为set之后,元素的顺序不一定还是原来的顺序)
代码入下:
#删除列表中更某个值得所有元素,可以利用python中set的元素唯一性,先将entry转换为set再删除
entry=
entry=list(set(entry))
entry.remove(1)
print(entry)
print(list(set(entry)))
#print(list(set(entry)).sort())
print(sorted(list(set(entry))))

第二种方式:利用for循环遍历找到要删除的元素,然后删除它(但是要注意的,遍历的时候应该从后往前遍历,否则会出现列表越界,因为删除元素之后,列表的最大下标也变了)
下面演示错误的方法:(代码复制到这过来缩进会变,记得修改)
c=
for i in range(len(c)):
if c==1:
c.remove(1)
print(c)

然后下面给出第二种方法的正确代码:
c=
for i in range(len(c)-1,-1,-1):
if c==1:
c.remove(1)
print(c)

第三种方法,使用列表解析式的方法实现,代码如下:
entry=
entry= for i in range(0,len(entry)) if entry!=1]
print(entry)
代码解析
for i in range(0,len(entry)) 循环遍历
if entry!=1循环遍历中判断
entry代表对取出来的原列表相关值操作
最后返回一个新列表

第四种方式:利用filter和lambda表达式,代码如下:
arr=
print(list(filter(lambda x:x!=1,arr)))

注意for循环中remove中下标的问题
码字不易,记得点赞投票哦
PYTHON列表版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.ff371.cn/art_302389.html