在字典中插入值而不只是创建引用

2024-06-24 13:04:42 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以将字典插入另一个字典而不只是创建对字典的引用

dict_a = {}
dict_b = {}
dict_a.insert(key, value)

这样可以避免随之而来的问题

dict_a["somekey"] = dict_b

Tags: 方法key字典valuedictinsertsomekey
3条回答

是的。

 dict_a.update(dict_b)

这将把dict_b中的所有键/值插入到dict_a(注意:这已就位并返回None

我想你可能是说要更新?

>>> dict_a = {1: 'a'}
>>> dict_b = {2: 'b'}
>>> dict_a.update(dict_b)
>>> dict_a
{1: 'a', 2: 'b'}

或者你是说你想要一份?

>>> from copy import copy
>>> dict_a = {1: 'a'}
>>> dict_b = {2: 'b'}
>>> dict_a['dict'] = copy(dict_b)
>>> dict_a
{1: 'a', 'dict': {2: 'b'}}

您可以在b上使用copy.deepcopy:

>>> a = {'a':[1,2,3]}
>>> b = {'b':[4,5,6]}
>>> a['c'] = copy.deepcopy(b)
>>> a
{'a': [1, 2, 3], 'c': {'b': [4, 5, 6]}}
>>> b
{'b': [4, 5, 6]}
>>> b['b'].append(7)
>>> b
{'b': [4, 5, 6, 7]}
>>> a
{'a': [1, 2, 3], 'c': {'b': [4, 5, 6]}}

如上所述使用更新或复制将执行浅层复制。

相关问题 更多 >