在Python中为另一个变量赋值

时间:2019-01-30 04:34:55

标签: python numpy

这让我很难理解:

import numpy
f=numpy.array([1,2])
g=f
g[0]=f[0]+1
print(f)

此代码的输出为[2,2]。如何在不更改f的情况下更改g的值?

1 个答案:

答案 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])