-2

可能重复:
从 Python 列表中删除所有出现的值

对于列表:

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

如何从列表中删除“_”的所有实例,所以它最终看起来像:

char = ['a', 'b' ] 

我试过了:

char.remove('_')

这给了我:

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

为什么会这样,我怎样才能让它删除列表中的所有下划线?

4

2 回答 2

6

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

char = [el for el in char if el != '_']
于 2012-10-24T01:28:26.240 回答
0

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

>>> x = [1,2,3,2,2,2,3,4]  
>>> filter (lambda a: a != 2, x)  
[1, 3, 3, 4]
于 2012-10-24T01:30:53.850 回答