2013-12-17 65 views
1

我有一個包含大量條目的字典,我想刪除它。我可以寫一個正則表達式來查找它們,但我不知道如何全部刪除它們。如何刪除所有匹配python正則表達式的字符串?

+1

如果您注意到,有三個不同的答案,每個答案都回答不同的問題。這表明你的問題並不清楚。你可能想要讓你想要更清楚,以便得到最適合你問題的答案。 – SethMMorton

回答

1

del聲明確實如此。

def remove(dic, key): 
    re = dict(dic) 
    del re[key] 
    return re 
0

要刪除我們可以使用re.sub(pattern,replace_with,string)方法的正則表達式匹配,關鍵是上面讓replace_with一個空字符串,以便匹配替換爲空字符串:

例如,該腳本將除去所有的非數字字符:

import re 

string = "My age is 99" 
print re.sub('\D+','',string) 

輸出:

99 
2

遍歷字典和構建包含只有你想保留元素的新字典:

new_dict = {key: value for key, value in old_dict.iteritems() if keep(key, value)} 

你也可以做到這一點通過刪除舊字典項與del,但修改的東西,而你迭代它是棘手的業務。通常最好不要這樣做。

相關問題