在尝试迭代更新python中的字典时,我遇到了以下问题:
import numpy as np
array_1 = [0.1, 0.2, 0.9]
array_2 = np.arange(0, 1, 0.1)
dict_A = {}
dict_A[0] = dict(zip([i for i in range(len(array_1))], [[[1 for i in range(len(array_2))] for j in range(len(array_1))] for k in range(len(array_1))]))
dict_B = {}
dict_B[0] = dict(zip([i for i in range(len(array_1))], [[1 for i in range(len(array_2))] for j in range(len(arra_2))]))
time = range(100)
for t in time:
dict_A[t+1] = dict(dict_A[t])
dict_B[t+1] = dict(dict_B[t])
dict_A[t+1][np.random.choice()] = update_A()
dict_B[t+1][np.random.choice()] = update_B()
当我运行此代码的实际版本时,对于每个t> 0,dict_B获取在t-1保存的字典的更新版本,而对于dict_A和所有t,我保存相同的字典。
我确定我在这里犯了一个明显的错误。非常感谢任何帮助。