我正在尝试编写一个蒙特卡洛代码,在其中优化字典中的元素。例如,我将我的原始字典定义为
A = {}
A[1] = ['a','b','c']
A[2] = ['d','e','f']
这导致
>>> A
{1: ['a', 'b', 'c'], 2: ['d', 'e', 'f']}
现在说我的蒙特卡洛中的一个尝试是从 A[1] 中取出一个随机元素“a”并将其放入 A[2]。但是,我想保留我原来的字典。所以我首先创建一个新字典:
B = A
然后在 BI 中进行所需的更改
B[1].remove('a')
B[2].append('a')
这导致了我想要获得的修改后的字典:
>>> B
{1: ['b', 'c'], 2: ['d', 'e', 'f', 'a']}
然而,这也改变了我原来想要备份的字典 A。
>>> A
{1: ['b', 'c'], 2: ['d', 'e', 'f', 'a']}
有什么办法可以做到这一点吗?谢谢你的帮助!