获取指向字典值的指针(python)



我想得到一个指向字典值的指针,但[因为这些值是浮点值,而不是对象(实际上这是错误的,我处理的是np.arrays(。]这似乎不可能。有没有一种方法可以在python 3.x中获取指向[foats](或值((在字典中(的指针?

W = parameters["W" + str(l)] #not a pointer. I want a pointer.
b = parameters["b" + str(l)] #not a pointer
W = W - a*grads["dW" + str(l)] #W[l]−α dW[l]
b = b - a*grads["db" + str(l)] #b[l]=b[l]−α db[l]

W和b不将它们的更新传递到字典中。

::Edit::我认为这可能是因为切片是引用,而不是数组值的副本。我想字典里可能有类似的东西。

答案似乎是"不,不能引用字典值,尤其是如果它们是基元的话"。我只是接受了返回值的事实,并提出了显而易见的解决方案。

W = parameters["W" + str(l)] #not a reference
b = parameters["b" + str(l)] #not a reference
W = W - a*grads["dW" + str(l)] 
b = b - a*grads["db" + str(l)] 
parameters["W" + str(l)] = W #save back into the dictionary
parameters["b" + str(l)] = b #save back into the dictionary

这个解决方案(不使用引用(有很多额外的代码行,但代码行更短,使数学部分更可读。

最新更新