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

pea*_*ear -2 python list char

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

列表:

char = ['a', '_', '_', 'b' ]
Run Code Online (Sandbox Code Playgroud)

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

char = ['a', 'b' ] 
Run Code Online (Sandbox Code Playgroud)

我试过了:

char.remove('_')
Run Code Online (Sandbox Code Playgroud)

这给了我:

char = ['a', '_', 'b']
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*nts 6

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

char = [el for el in char if el != '_']
Run Code Online (Sandbox Code Playgroud)