# 定义一个字典
In [9]: a = {"key1":"value1", "key2":"value2"}
# 注意 b = a, b和a指向的是同一个对象
In [10]: b = a
# 通过id可以发现 b 与 a的id是一样的 如果对b进行修改 a也会改变
In [11]: id(b)
Out[11]: 85886656
In [12]: id(a)
Out[12]: 85886656
# 使用 {** a} 创建一个可修改的副本
In [13]: c = {** a}
In [14]: c
Out[14]: {'key1': 'value1', 'key2': 'value2'}
# 通过type可以确认c是一个字典
In [15]: type(c)
Out[15]: dict
# 通过对比id 可以发现c是一个新的对象
In [16]: id(c)
Out[16]: 83322344
# 尝试对c进行修改
In [23]: c["key1"] = "value c"
# 确认c的变化
In [24]: c
Out[24]: {'key1': 'value c', 'key2': 'value2'}
# 再次输出a 可以确定a未发生改变
In [25]: a
Out[25]: {'key1': 'value1', 'key2': 'value2'}
# 另一种方法 通过dict 也可以创建一个新副本
In [17]: d = dict(a)
# 对比 id
In [18]: id(d)
Out[18]: 85819040
# 输出初始值
In [19]: d
Out[19]: {'key1': 'value1', 'key2': 'value2'}
# 尝试修改
In [20]: d["key1"] = "d value1"
# 对比结果
In [21]: d
Out[21]: {'key1': 'd value1', 'key2': 'value2'}
In [22]: a
Out[22]: {'key1': 'value1', 'key2': 'value2'}
关键字词:

