我是python的新手,我找不到以下问题的答案:
让
import numpy as np
graph = np.matrix('1 1 1 0 0; 1 1 0 1 1; 1 0 1 0 0; 0 1 0 1 0; 0 1 0 0 1')
G = graph
G[1,:] *=2
print(graph)
print(G)
我希望:
print(graph)
[[1 1 1 0 0]
[1 1 0 1 1]
[1 0 1 0 0]
[0 1 0 1 0]
[0 1 0 0 1]]
>>> print(G)
[[1 1 1 0 0]
[2 2 0 2 2]
[1 0 1 0 0]
[0 1 0 1 0]
[0 1 0 0 1]]
结果是
print(graph)
[[1 1 1 0 0]
[2 2 0 2 2]
[1 0 1 0 0]
[0 1 0 1 0]
[0 1 0 0 1]]
>>> print(G)
[[1 1 1 0 0]
[2 2 0 2 2]
[1 0 1 0 0]
[0 1 0 1 0]
[0 1 0 0 1]]
所以我的原始图表已更改,但我没有对其执行任何操作。正如我所看到的,python使用引用\指针而不是实际值。我的问题是如何引入辅助矩阵 - 这样我就可以在不改变原始矩阵的情况下进行处理