# 定义一个字典 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'}
关键字词: