有时候我们需要将两个字典进行合并,我们需要相同的键的值,合并成一个列表。
dic_a = {
"key1":1,"key5":2}
dic_b = {
"key1":3,"key4":4}
print("合并前的字典1是{}".format(dic_a))
print("合并前的字典2是{}".format(dic_b))
# 实现的目标是 "key2":[2,3]
result_dic = {
}
'''
核心思路:
1:遍历字典1和字典2的每一个键
2:如果两个字典的键是一样的,就给新字典的该键赋值为空列表
然后空列表依次添加字典1和字典2 的值,然后将最后的值赋值给原字典
3:如果两个字典的键不同,则分别将键值对加到新列表中
'''
for k,v in dic_a.items():
for m,n in dic_b.items():
if k == m:
result_dic[k] = []
result_dic[k].append(dic_a[k])
result_dic[k].append(dic_b[k])
dic_a[k] = result_dic[k]
dic_b[k] = result_dic[k]
else:
result_dic[k] = dic_a[k]
result_dic[m] = dic_b[m]
# if k in dic_b.keys():
print("合并后的字典是{}.".format(result_dic))