새로운 메모리를 형성하지 않음. 값의 복사가 아닌 주소값의 복사를 통해 동일한 메모리를 가리킴.
li1 = [0,1,2]
li2 = li1
li2[0] = 500
print(li1) # 500
위 처럼 li2의 일부를 바꾸면 li1에도 영향이 간다.
즉 완전히 독립적인 메모리를 가진다.
li1 = [0,1,2]
li2 = li1
li2[0] = 500
print(li1) # 0
위 처럼 li2의 일부를 바꾸어도 li1에 영향이 없다
📌 보통 파이썬에서는 함수 인자로 리스트를 넘겨줄 때, 값으로 넘겨준느 것이 아닌, 리스트의 주소 값을 옮겨준다.
이를 해결하기 위해서는 깊은 복사를 사용해야 한다.
1차원의 리스트 상에서는 li2 = li1[:] 를 통해 깊은 복사가 가능하지만
2차원 리스트 상에서는 해당하지 않는다 따라서
✅ import copy
li2 = copy.deepcopy(li1) 를 통해 깊은 복사를 이끌어 낼 수 있다.