2016-07-06 74 views
0

我有followng字典中的Python:刪除值,但保留鑰匙蟒蛇快譯通

d = {'ABC': ["DEF", "ASD"], 'DEF': ["AFS", "UAP"]} 

現在我想刪除值「DEF」,而是把它作爲一個重點。 所以它會:

d = {'ABC': [ "ASD"], 'DEF': ["AFS", "UAP"]} 
+2

'D ['ABC']。remove('DEF')'?更改列表不會更改字典。 – jonrsharpe

回答

0

試試這個嗎?

for name, datalist in d.iteritems(): # Or items() in Python 3.x 
    for datadict in datalist: 
     for key, value in datadict.items(): 
      if value == "AAA": 
       datadict[key] = "" 

這是否行得通?

+0

這是否清除了該鍵的值?我需要保留其他值如果存在。像這樣:如果字典是d = {'ABC':['def','asd']}將是d = {'ABC':[]}而不是(當刪除'def'時)d = {'ABC ':['asd']} – MennoSteenwijk

+0

它應該。這就是爲什麼'datadict [key] =「」'中有空引號的原因,它應該用什麼都不替換(因此是「」)鍵,但值應該仍然存在。 –

0
d = {'ABC': ["DEF", "ASD"], 'DEF': ["AFS", "UAP"]} 
val_to_del = "DEF" 

for key in d: 

    if val_to_del in d[key]: 
    d[key].remove(val_to_del) 

print(d) 
+1

雖然此代碼段可能會解決問題,但[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 –