主页 > 编程资料 > Python >
发布时间:2018-10-07 作者:apizl 阅读:465次
# 定义一个字典
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'}

关键字词:

相关文章