为什么下划线没有全部从列表中删除?python

为什么下划线没有全部从列表中删除?python,python,list,char,Python,List,Char,可能重复: 有关列表: char = ['a', '_', '_', 'b' ] 如何从列表中删除所有的“\u1”实例,使其看起来像: char = ['a', 'b' ] 我试过: char.remove('_') 这给了我: char = ['a', '_', 'b'] 这是为什么?我如何才能让它删除列表中的所有下划线?列表。删除仅删除匹配的第一个实例-您可以使用列表理解: char = [el for el in char if el != '_'] 这篇文章考虑了几个选项,

可能重复:

有关列表:

char = ['a', '_', '_', 'b' ]
如何从列表中删除所有的“\u1”实例,使其看起来像:

char = ['a', 'b' ] 
我试过:

char.remove('_')
这给了我:

char = ['a', '_', 'b']

这是为什么?我如何才能让它删除列表中的所有下划线?

列表。删除仅删除匹配的第一个实例-您可以使用列表理解:

char = [el for el in char if el != '_']

这篇文章考虑了几个选项,它们可能与这篇文章非常相似。其中之一是:

>>> x = [1,2,3,2,2,2,3,4]  
>>> filter (lambda a: a != 2, x)  
[1, 3, 3, 4]