1 ,淺拷貝 : 同一對象 nd02 = nd01
- 代碼 :
if __name__ == '__main__':
nd01 = np.arange(12).reshape(2,6)
nd02 = nd01
print(nd01 is nd02)
=================================
True
2 ,半深拷貝 : 不同對象,同一元素 nd02 = nd01.view()
- 代碼 : 元素會同步改變
if __name__ == '__main__':
nd01 = np.arange(12).reshape(2,6)
nd02 = nd01.view()
print(nd01 is nd02)
nd01[0,2] = 999
print(nd01)
print(nd02)
================================
False
[[ 0 1 999 3 4 5]
[ 6 7 8 9 10 11]]
[[ 0 1 999 3 4 5]
[ 6 7 8 9 10 11]]
3 ,深度拷貝 :完全不同
- 代碼 :
if __name__ == '__main__':
nd01 = np.arange(12).reshape(2,6)
nd02 = nd01.copy()
print(nd01 is nd02)
nd01[0,2] = 999
print(nd01)
print(nd02)
====================================
False
[[ 0 1 999 3 4 5]
[ 6 7 8 9 10 11]]
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]]