编辑为包含正确的虚拟代码。-由帝斯曼解决-
这个问题似乎很简单(在我的脑海中),我试图找到一种方法来“更新”一个基于另一个字典 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)
由于不可散列列表,这将不起作用。这难倒我,我想不出解决这个问题的方法,有什么想法吗?
注意这不是一个简单的小写 -> 大写问题,这只是为了捕捉我的问题本质而创建的虚拟文本。