더북(TheBook)

얕은 복사(copy.copy())에 대한 결과는 다음과 같습니다.

[[1, 2], 3]
[100, 3]
[[1, 2], 3]
[[1, 2, 4], 3]
[[1, 2, 4], 3]

copy_o에서 [1, 2] 값을 100으로 변경했더니 copy_o만 바뀌었습니다. 또한, [1, 2]4를 추가했더니 originalcopy_o 모두 반영되었습니다.

그렇다면 깊은 복사는 어떨까요? 깊은 복사는 copy.deepcopy()를 이용합니다.

import copy

original = [[1, 2], 3]
copy_o = copy.deepcopy(original) ------ original 값을 copy_o에 깊은 복사(copy.deepcopy())
print(copy_o)
copy_o[0] = 100 ------ copy_o의 [1, 2] 값을 100으로 변경
print(copy_o)
print(original)

append = copy.deepcopy(original)
append[0].append(4) ------ 첫 번째 리스트([1, 2])에 4를 추가
print(append)
print(original)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.