11,np 常用函數 : 深淺拷貝

1 ,淺拷貝 : 同一對象 nd02 = nd01

  1. 代碼 :
if __name__ == '__main__':
    nd01 = np.arange(12).reshape(2,6)
    nd02 = nd01
    print(nd01 is nd02)
=================================
True

2 ,半深拷貝 : 不同對象,同一元素 nd02 = nd01.view()

  1. 代碼 : 元素會同步改變
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 ,深度拷貝 :完全不同

  1. 代碼 :
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]]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章