gpt4 book ai didi

python - 克隆的字典被新字典的更改覆盖

转载 作者:太空宇宙 更新时间:2023-11-04 07:17:45 24 4
gpt4 key购买 nike

我觉得这一定是以前问过的,但我一直无法找到我正在寻找的解决方案:

我有一个简单的字典a,其中包含一个键和一个列表。我想复制该词典以供将来使用,但我对 a 所做的任何更改都会影响我的副本 b。:

>>> a
{'kn': [8, 9, 10, 11, 12]}
>>> b = a.copy()
>>> b
{'kn': [8, 9, 10, 11, 12]}

>>> for l in range(len(a['kn'])):
... a['kn'][l] = a['kn'][l] + 10

>>> a
{'kn': [18, 19, 20, 21, 22]}
>>> b
{'kn': [18, 19, 20, 21, 22]}

最佳答案

那是因为你没有制作字典的深拷贝。

这应该为您指明正确的方向:https://docs.python.org/2/library/copy.html

简而言之,当您copy() 字典时,您只是将指针 复制到字典中的项目。因此,当您更改一个字典中的值时,由于两个字典中的指针相同,因此更改会立即显示在另一个字典中。

通过执行 deepcopy(),您可以将 从一个字典复制到另一个字典。现在您有两个单独的副本。

关于python - 克隆的字典被新字典的更改覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34883742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com