b=a b和a是对同一个对象的引用,互相影响b = a[:] b和a不是同一对象,b是a的切片,但是b和a的数据会相互影响b = a.copy() b是a拷贝,a和b互不影响
In [1]: import numpy as np
In [2]: a = np.arange(12).reshape(3,4)
In [3]: a
Out[3]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [4]: b = a
In [5]: b is a
Out[5]: True
In [6]: b = a[:]
In [7]: b is a
Out[7]: False
In [8]: a
Out[8]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [9]: b[0,0] =1
In [10]: b
Out[10]:
array([[ 1, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [11]: a
Out[11]:
array([[ 1, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [12]: b = a.copy()
In [13]: b[0,0] = 2
In [14]: b
Out[14]:
array([[ 2, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [15]: a
Out[15]:
array([[ 1, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
转载请注明原文地址:https://ipadbbs.8miu.com/read-56665.html