为什么下划线并非全部从列表中删除?蟒蛇

时间:2012-10-24 01:26:48

标签: python list char

  

可能重复:
  Remove all occurences of a value from a Python list

列表:

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

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

char = ['a', 'b' ] 

我试过了:

char.remove('_')

给了我:

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

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

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

this帖子中考虑了几个与这个选项密切相关的选项。其中之一是:

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