创建一个嵌套字典的副本而不是引用

11 浏览
0 Comments

创建一个嵌套字典的副本而不是引用

这个问题已经在这里有答案了

Python中字典的深拷贝

为什么使用dict()函数不会像对于标准的键值对字典一样为包含嵌套字典的字典创建副本?

字典

A = {'key' : 'value'}
B = dict(A)
A['key'] = 10
print A, B

输出:

{'key': 10} {'key': 'value'}

嵌套字典:

A = {'key' : {'subkey' : 'value'}}
B = dict(A)
A['key']['subkey'] = 10
print A, B

输出:

{'key': {'subkey': 10}} {'key': {'subkey': 10}}

admin 更改状态以发布 2023年5月23日
0
0 Comments

你需要创建一个深度拷贝(deepcopy): \n

from copy import deepcopy
A = {'key' : {'subkey' : 'value'}}
B = deepcopy(A)
A['key']['subkey'] = 10
print(A, B)
# {'key': {'subkey': 10}} {'key': {'subkey': 'value'}}

0