Python

python shallow copy, deep copy

ndlessrain 2014. 5. 5. 22:34
728x90

>>>a=[1,2,3]

>>>b=a

>>>a[0]=38

>>>a

[38,2,3]

>>>b

[38,2,3]

>>>id(a), id(b)

(xxxxxx, xxxxxx) # 같음 ->shallow copy

 

>>>a=[1,2,3]

>>>b=a[:]

>>>id(a), id(b)

(xxxxxx, yyyyyy) # 다름 -> deep copy

리스트는 위와 같은 방법으로 deep copy를 하지만 그 외에는

>>>import copy

>>>a=[1,2,3]

>>>b=copy.deepcopy(a) # 이런 방법으로 deep copy함.

728x90