python删除列表中的某个值的全部元素

 时间:2026-02-14 03:09:11

1、首先我们先演示一下Python列表的remove的效果:代码如下

d=[1,2,3,4,5,1,1]

d.remove(1)

print(d)

可以看到的,这里删除1,只删除了下标最小的那个元素

python删除列表中的某个值的全部元素

2、实现方法1:先将列表转换为set,以此来去掉重复元素,然后转换为list,再排序sorted一下(排序的原因是转换为set之后,元素的顺序不一定还是原来的顺序)

代码入下:

#删除列表中更某个值得所有元素,可以利用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))))

python删除列表中的某个值的全部元素

3、第二种方式:利用for循环遍历找到要删除的元素,然后删除它(但是要注意的,遍历的时候应该从后往前遍历,否则会出现列表越界,因为删除元素之后,列表的最大下标也变了)

下面演示错误的方法:(代码复制到这过来缩进会变,记得修改)

c=[1,2,4,1,1,2]

for i in range(len(c)):

     if c[i]==1:

         c.remove(1)

print(c)

python删除列表中的某个值的全部元素

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)

python删除列表中的某个值的全部元素

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]代表对取出来的原列表相关值操作

最后返回一个新列表

python删除列表中的某个值的全部元素

6、第四种方式:利用filter和lambda表达式,代码如下:

arr=[1,1,3]

print(list(filter(lambda x:x!=1,arr)))

python删除列表中的某个值的全部元素

  • python当中怎样输出多行字符串?
  • Python 列表(List)中查找元素位置的方法和技巧
  • python 字符串转字典
  • 如何将python中的字典变成列表?
  • python 字符串转列表
  • 热门搜索
    珍珠草的功效与作用 什么是工业4.0 知识分子是工人阶级的一部分 牛磺酸的作用 脚底有痣代表什么 有什么好玩的网游 结核病防治知识 紫水晶的功效与作用 电脑什么配置好 双一流大学什么意思