版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/PoGeN1/article/details/84309108
一、= 的赋值方式会有关联性
首先导入numpy并建立变量a,b,c,d
>>> import numpy as np
>>> a=np.arange(4)
>>> print(a)
[0 1 2 3]
>>> b=a
>>> c=a
>>> d=b
>>> print(a,b,c,d)
[0 1 2 3] [0 1 2 3] [0 1 2 3] [0 1 2 3]
>>> a[0]=1
>>> print(a,b,c,d)
[1 1 2 3] [1 1 2 3] [1 1 2 3] [1 1 2 3]
上边可以看出改变a的值,其他几个值也会跟着改变,同样,改变d的值,其他几个值也会跟着改变:
>>> d[0]=2
>>> print(a,b,c,d)
[2 1 2 3] [2 1 2 3] [2 1 2 3] [2 1 2 3]
二、copy的方式没有关联性
>>> b=a.copy()#deep copy
>>> print(a,b)
[2 1 2 3] [2 1 2 3]
>>> a[3]=44
>>> print(a,b)
[ 2 1 2 44] [2 1 2 3]
此时a
与b
已经没有关联了