Python数据处理之(九)Numpy copy & deep copy

版权声明:本文为博主原创文章,转载请注明出处! 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]

此时ab已经没有关联了

猜你喜欢

转载自blog.csdn.net/PoGeN1/article/details/84309108