Python: 얕은 복사/깊은 복사
개요
- copy 모듈의 deepcopy 함수를 이용하여 깊은 복사 가능
- 문자열, 튜플 같은 변경이 불가능한 객체는 얕은 복사, 리스트 같이 변경이 가능한 객체는 깊은 복사 수행
예제
- 코드
import copy
if __name__ == "__main__":
l1 = ['abc', ('a', 'b'), ['abc']]
l2 = copy.copy(l1)
for i in range(0, 3):
print(l1[i] is l2[i])
print("------")
l2 = copy.deepcopy(l1)
for i in range(0, 3):
print(l1[i] is l2[i])
- 실행 결과
True
True
True
------
True
True
False