numpy学习数组赋值

一,=赋值方式有关联性

import numpy as np
a=np.arange(4)
b=a
d=b
print(a)#[0 1 2 3]
print(b)#[0 1 2 3]
print(b is a)#True
print(d)#[0 1 2 3]
a[0]=4#改变a的第一个值,b和d也都变化
print(a)#[4 1 2 3]
print(b)#[4 1 2 3]
print(d)#[4 1 2 3]
print(b is a)#True
d[0]=22
print(d)#[22  1  2  3]
d[0:2]=[11,22]#改变d的前两个元素的值,a和d都会变化
print(d)#[11 22  2  3]
print(a)#[11 22  2  3]

二,copy()赋值方式没有关联性

import numpy as np
a=np.arange(4)
b=a.copy()#deep copy
c=a
d=b
print(a)#[0 1 2 3]
print(b)#[0 1 2 3]
print(c)#[0 1 2 3]
print(d)#[0 1 2 3]
print(b is a)#False
a[3]=11
print(a)#[ 0  1  2 11]
print(b)#[0 1 2 3]
print(c)#[ 0  1  2 11]
print(d)#[0 1 2 3]

猜你喜欢

转载自blog.csdn.net/weixin_40490880/article/details/81197758