1. 程式人生 > >numpy常用概念(copy, deepcopy)

numpy常用概念(copy, deepcopy)

import numpy as np
賦值(物件引用)
a = np.array([1, 2, 3, 4])
a
array([1, 2, 3, 4])
b = a
b
array([1, 2, 3, 4])
a[2] = 0
a
array([1, 2, 0, 4])
b
array([1, 2, 0, 4])
b[1] = 0
a
array([1, 0, 0, 4])
c = b[1:3]
c
array([0, 0])
c[1] = 2
c
array([0, 2])
a
array([1, 0, 2, 4])
b
array([1, 0, 2, 4])
copy(物件拷貝,淺拷貝)
a = np.array([1, 2, 3, 4])
b = a.copy()
b
array([1, 2, 3, 4])
b[0] = 0
b
array([0, 2, 3, 4])
a
array([1, 2, 3, 4])
deepcopy(物件拷貝,深拷貝)
a = [1, 2, 3, 4, ['a', 'b']] #原始物件
d = copy.deepcopy(a) #物件拷貝,深拷貝
d
[1, 2, 3, 4, ['a', 'b']]