Script/Python
09. Shallow copy & Deep copy
삽질의 달인
2020. 1. 15. 07:50
파이썬은 C#, Java 처럼 해당 자료형의 클래스를 만들고 이를 레퍼런스로 가지고 있기 때문에
변수간에 복사를 하면 값 복사가 일어나는 것이 아니라 참조복사가 일어난다.
따라서 값을 복사해 사용하고자 한다면 copy 모듈을 임포트 한 다음 deepcopy 함수를 사용해야 한다.
import copy
a = [1,2,3]
b = a
c = copy.deepcopy(a) # deep copy
a[0]= 38
print (a) # [38, 2, 3]
print (b) # [38, 2, 3]
print (c) # [1, 2, 3]
|