nump_深拷贝浅拷贝

import numpy as np

a = np.arange(4)
print(a)
b = a
c = a
d = b

print(b is a)  # True
print(c is a)  # True
print(d is a)  # True
a[0] = 11
print(a, b, c, d)
d[-1] = 44
print(a, b, c, d)
# ---------以上操作可以看出,此时的a,b,c,d指向同一个地址空间

e = a.copy()
print(e is a)  # False
a[1] = 233
print(a, e)  # [ 11 233   2  44] [11  1  2 44]
# 这个copy 出来的e和原来的a并不等同,只是初始值一样罢了

# 结论:如果仅仅复制一份值而不影响原来数据,使用深拷贝copy;如果直接浅拷贝赋值,则会影响原来数据

 

posted @ 2022-05-24 23:19  淫鬻  阅读(4)  评论(0编辑  收藏  举报