# -*- coding: utf-8 -*-
# @File : merge_dict.py
# @Date : 2018-05-04
# 项目说明: 合并两个字典
# 要合并的字典
a = {"a1": 1, "a2": 2, "c": 3}
b = {"b1": 1, "b2": 2, "c": 4}
# 方式一:
c={}
c.update(a)
print(c)
# {'a1': 1, 'a2': 2, 'c': 3}
c.update(b)
print(c)
# {'a1': 1, 'a2': 2, 'c': 4, 'b1': 1, 'b2': 2}
# 方式二:py3
d = {**a, **b}
print(d)
# {'a1': 1, 'a2': 2, 'c': 4, 'b1': 1, 'b2': 2}
# 以上两种方式默认使用第二个字典的键值
# 方式三
from collections import ChainMap
e = ChainMap(a, b)
print(e)
# ChainMap({'a1': 1, 'a2': 2, 'c': 3}, {'b1': 1, 'b2': 2, 'c': 4})
print(e["c"]) # 3 默认使用第一个字典的键值
# 修改a字典中的值
a["a1"] = 5
print("c", c)
print("d", d)
print("e", e) # e中的值被修改了
"""
c {'a1': 1, 'a2': 2, 'c': 4, 'b1': 1, 'b2': 2}
d {'a1': 1, 'a2': 2, 'c': 4, 'b1': 1, 'b2': 2}
e ChainMap({'a1': 5, 'a2': 2, 'c': 3}, {'b1': 1, 'b2': 2, 'c': 4})
"""
参考:一道Python面试题:如何快速合并两个字典