기본적으로 파이썬에서 리스트 복사는
얕은 복사
old_lst = [1, 2, 3]
new_lst = old_lst
print(new_lst) # [1, 2, 3]
new_lst[0] = 99
print(old_lst) # [99, 2, 3]
리스트를 단순 할당하게 되면 같은 리스트 객체를 참조하여, 동일한 메모리 주소를 공유하게 됨
두 리스트가 서로 독립적인 객체가 되길 원한다면 깊은 복사를 해야함
import copy
old_lst = [1, 2, 3]
new_lst = copy.deepcopy(old_lst)
new_lst[0] = 99
print(old_lst) # [1, 2, 3]
print(new_lst) # [99, 2, 3]
서로 다른 객체를 참조하므로, 한 리스트의 변경이 다른 리스트에 영향을 미치지않음!