在python中直接赋值往往不重新开辟空间,所以想要重新开辟空间需要用到深拷贝在numpy中表现为“.copy()"。以下代码进行验证。
import numpy as np
# 其共同指向同一个空间
a = np.arange(4)
print(a)
b = a
c = a
d = b
a[0] = 11
print(a)
print(b is a, d is a, c is a)
# 重新开辟空间,深度拷贝
e = a.copy()
print(e)
a[1] = 22
print(a, e)
学习自莫凡Python