在下面的代码中,我看不出为什么变量“cleary”会改变值,但确实如此。我已经重新启动了pyCharm多次,但它一直在发生。在
import numpy as np
nPeriods = 48
nGens = 1
cleary = np.zeros((nPeriods,nGens,2))
clearz = np.zeros((nPeriods,nGens))
for ii in range(nPeriods):
for jj in range(nGens):
temp = cleary
temp[ii,jj,:] = 1
我做错什么了?在
这是预期的行为。您传递了名称
cleary
指向temp
的ndarray对象的引用:通过将数组的副本分配给
^{pr2}$temp
,可以避免修改cleary
:阅读How do I pass a variable by reference?以了解更多关于Python中名称分配基础的信息。在
相关问题 更多 >
编程相关推荐