編輯的值對從d1和值是正確包含啞代碼。通過DSM-創作使用鍵Python字典的:從D2
這個問題看似簡單的(在我的腦海)-Solved,我試圖找到一種方法來「更新」一個字典基於另一個字典K,V值對。
虛擬文本:
>>> dict1 = {'hello':'HELLO', 'bye':'BYE', 'right':'RIGHT', 'left':'LEFT'}
>>> dict2 = {'why':['hello', 'bye'], 'direction': ['left', 'right', 'right', 'right']}
結果我想: - 簡單地更新dict2
包含如果存在dict1
的鍵值。
updated_dict = {'why':['HELLO', 'BYE'], 'direction':['LEFT', 'RIGHT', 'RIGHT', 'RIGHT']}
我試圖做到這一點:
updated_dict = dict()
for v in dict2.values():
id_list = dict2[v]
for uniq_id in id_list:
new_id = dict1[uniq_id]
if updated_dict.has_key(uniq_id):
updated_dict[v].append(uniq_id)
else:
updated_dict[v] = list()
updated_dict[v].append(uniq_id)
這將無法正常工作,由於unhashable列表。這使我陷入困境,我想不出解決這個問題的辦法,有什麼想法?
注意這是不是一個簡單的小寫字母 - >大寫問題,這是創建捕捉到我的問題的實質只是虛擬的文本。
是否所有需要的不同部分的用逗號分隔嗎? – James 2013-04-22 22:51:12
這更像是字符串替換,而不是更新字典。 {: 'STRING1', '字符串': '字符串' '字符串1'}' – CppLearner 2013-04-22 22:52:27
如果'dict1'包含重疊海誓山盟2值的字符串,如'會發生什麼?除非您可以嚴格限制數據,否則這是一個非常棘手的問題。 – 2013-04-22 22:52:45