2011-08-14 80 views
4

我有一個元素列表,其中一些以「#」開頭。我如何刪除這些元素? 我想:刪除所有以散列開頭的列表元素

content = [x for x in content[][0] if x != "#"] 

但:

content[][0] 

似乎是無效的。做這個的最好方式是什麼?

回答

15
content = [x for x in content if not x.startswith('#')] 
+4

in-place方法:'content [:] = [x for content in if if not x.startswith('#')]' –

+0

@Manny D - 是的,這是一個很好的補充。 –

1

這也可以用內置的過濾方法蟒蛇來完成:

content = filter(lambda x: not x.startswith('#'), content) 

但需要注意的是,在你沒有刪除這兩種情況下 - 你創建一個新的列表。