我有一个问题,在外循环结束后,两个字典都指向相同的值。我有这样的代码:
for state in states:
probab_dist = numpy.random.dirichlet(some args..).flatten()
for i, j in zip(word, range(len(word))):
state.dict[i] = probab_dist[j]
我在第 2 行之后插入了一条打印语句,以查看 dirichlet 函数是否每次都返回相同的值。它没有,并且在内部循环退出后打印每个状态的字典的值确实表明,首先每个状态的字典都有自己的值。
我认为这可能是深拷贝与浅拷贝的问题,所以我将第 4 行替换为state.dict[i] = copy.deepcopy(probab_dist[j]
,但这并没有改变任何东西。
有什么想法我可以尝试下一步吗?