【发布时间】:2016-02-13 05:58:32
【问题描述】:
假设一个二维的numpy数组如下:
A = np.ones((5,5))
现在,我想使用以下代码更新(更改)A 的所有值:
for row in A:
for entry in row:
entry = 999
在此之后,en A 的项为 1,即矩阵与原始矩阵相同。
但是,如果我运行这段代码,值就会改变:
for i,row in enumerate(A):
for j,entry in enumerate(row):
A[i][j] = 999
为什么会这样?
cell 变量是副本而不是指针吗?
【问题讨论】:
-
具有相同问题的并发问题,但针对列表:stackoverflow.com/questions/35355739/…