Coding/Python Matlab

Python copy depth

smores 2021. 7. 9. 04:32

 

 

import copy


a = [1, 2, 3]
b = a # 레퍼런스 카피
c = copy.copy(a) # 얕은 카피
d = copy.deepcopy(a) # 깊은 카피
e = a[:] # 얕은 카피

print(id(a), id(b), id(c), id(d), id(e))
print(a is b)
print(a is c)
print(a is d)
print(a is e)


h = [1, [4, [5, 6]], 2, 3]
i = h # 레퍼런스 카피
j = copy.copy(h) # 얕은 카피
k = copy.deepcopy(h) # 깊은 카피
l = h[:] # 얕은 카피

print(id(h), id(i), id(j), id(k), id(l))
print(id(h[1]), id(i[1]), id(j[1]), id(k[1]), id(l[1]))
print(id(h[1][1]), id(i[1][1]), id(j[1][1]), id(k[1][1]), id(l[1][1]))
print(id(h[1][1][1]), id(i[1][1][1]), id(j[1][1][1]), id(k[1][1][1]), id(l[1][1][1]))

print(h is i)
print(h is j)
print(h is k)
print(h is l)

print(h[1] is i[1])
print(h[1] is j[1])
print(h[1] is k[1])
print(h[1] is l[1])

'Coding > Python Matlab' 카테고리의 다른 글

파이썬 비주얼스튜디오 실행출력 별도의 콘솔윈도우에  (0) 2021.07.16
파이썬 UTF-8  (0) 2021.07.15
matlab polar 3D  (0) 2021.07.09
python dxf, pdf, http server test  (0) 2021.07.09
Python debugging - PDB  (0) 2021.03.05