我的字典看起来像......
dict1 = {'England':[1,2,3,4,5,6,7],'Canada':[1,2,3,4,5,6,7]...etc}
我还有另一本看起来像......的词典
dict2 = {'England':15,'Canada':10...etc}
我正在尝试为密钥进行匹配,然后将值附加到dict1,这样我就可以得到类似
的内容dict3 = {'England':[1,2,3,4,5,6,7,15],'Canada':[1,2,3,4,5,6,7,10]...etc}
到目前为止,我相信我将不得不使用setdefault append方法。但我不太确定。
答案 0 :(得分:4)
dict1 = {'England': range(1, 8), 'Canada': range(1, 8)}
dict2 = {'England': 15, 'Canada': 10, 'France': 5}
for k, v in dict2.items():
dict1.setdefault(k, []).append(v)
结果:
{
'Canada': [1, 2, 3, 4, 5, 6, 7, 10],
'England': [1, 2, 3, 4, 5, 6, 7, 15],
'France': [5]
}
答案 1 :(得分:1)
使用dict理解:
dict3 = {k:v+[dict2[k]] for k,v in dict1.items() if k in dict2}
结果:
{'England': [1, 2, 3, 4, 5, 6, 7, 15], 'Canada': [1, 2, 3, 4, 5, 6, 7, 10]}
我假设两个dicts都有匹配的键,因为你没有指定dict2中是否有某些键可能不存在。
答案 2 :(得分:0)
我认为您只需要查看dict1中的密钥是否在dict2的密钥集中,然后附加它....
可能会有更多的pythonic,但这很简单......
for key in dict1.keys():
if key in dict2.keys():
dict1[key].append(dict2[key])
答案 3 :(得分:0)
你可以这样做:
print {k: v+[dict2[k]] for k,v in dict1.items()}