-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

この投稿で検討されているオプションがいくつかありますが、これはおそらくこれとほぼ同じものです。それらの1つは次のとおりです。

>>> 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 に答える