【发布时间】:2021-05-12 09:26:32
【问题描述】:
我想操纵矩阵“b”,但由于我已将其初始值指定为等于矩阵“a”的初始值,因此矩阵“a”也被操纵,这是不希望的。我该如何解决这个问题?
import numpy as np
a=np.zeros((3,3))
b=a
b[0,:]=1
print('a=',a,'\n')
print('b=',b)
这段代码的结果是这样的:
a= [[1. 1. 1.]
[0. 0. 0.]
[0. 0. 0.]]
b= [[1. 1. 1.]
[0. 0. 0.]
[0. 0. 0.]]
如您所见,这两个矩阵都已修改。我写了这个小代码来说明我的问题。我的主程序是一个更大的程序,但我已经认识到这个问题,就是这样。
【问题讨论】:
-
numpy 数组只有一个。那是你的问题。
b = a从不创建副本
标签: python numpy variables variable-assignment assignment-operator