关于字典:Python链接词典?

Python linked dictionaries?

本问题已经有最佳答案,请猛点这里访问。

我在python中遇到了一些烦人的事情,我创建了一个字典,然后创建了第二个字典,从第一个字典中获取相同的键和值,但是当我修改第一个字典时,第二个字典也会更改,为什么会这样?

例子:

1
2
3
4
5
6
7
testblock = {
    0:1, 1:2, 2:3, 3:4,
    4:5, 5:6, 6:7, 7:8,
    8:9, 9:10, 10:0, 11:11,
    12:13, 13:14, 14:15, 15:12}
t2 = testblock
testblock[2] = 10

testblock是第一本词典,t2是第二本词典,即使我声明几个与testblock相同的词典,也会发生这种情况,比如t3t4等。当我给他们打电话时,他们都显示了我对testblock所做的相同的改变。


这是因为t2和t1都引用了下面的同一个字典对象。在python解释器上验证run id(t2)和run id(t1)。两者都将返回相同的值。更多信息。请参阅python文档中的python模型。