这让我很难理解:
import numpy
f=numpy.array([1,2])
g=f
g[0]=f[0]+1
print(f)
此代码的输出为[2,2]
。如何在不更改f的情况下更改g的值?
答案 0 :(得分:1)
这是因为指针的工作方式,您需要复制变量而不对其进行引用
In [16]: import copy
In [17]: import numpy
...: f=numpy.array([1,2])
...: g=copy.deepcopy(f)
...: g[0]=f[0]+1
...: print(f)
...:
...:
[1 2]
In [18]: f
Out[18]: array([1, 2])
In [19]: g
Out[19]: array([2, 2])