본문 바로가기
파이썬(Python)/파이썬(Python) 문법

파이썬 얕은복사

by 공.대.남 2023. 5. 27.
반응형


안녕하세요! 공대남입니다.
얕은복사 깊은복사를 주의해 코딩을 해야합니다.
karr = arr를 할 경우, karr과 arr은 동일한 메모리 주소를 참조하게 됩니다. 이는 얕은 복사(shallow copy)라고도 합니다. 따라서 karr을 변경하면 동일한 메모리 주소를 참조하는 arr도 함께 변경되는 결과를 가져옵니다.

예를 들어, 다음과 같은 코드를 실행한다고 가정해봅시다:

python code
arr = [1, 2, 3, 4, 5]
karr = arr

karr[0] = 100

print(arr)  # 출력: [100, 2, 3, 4, 5]

여기서 karr = arr를 수행한 후 karr[0]을 변경하면 arr도 함께 변경되는 것을 확인할 수 있습니다. 이는 karr과 arr이 동일한 리스트 객체를 가리키고 있기 때문입니다.

따라서, karr을 변경하더라도 원본인 arr을 보존하고자 한다면, karr에 arr을 할당할 때에는 복사본을 생성하여 참조하는 것이 중요합니다. 그렇게 하면 karr과 arr은 각각 다른 메모리 공간을 참조하게 되므로 한 쪽을 변경해도 다른 쪽에는 영향을 주지 않습니다.

728x90
반응형

'파이썬(Python) > 파이썬(Python) 문법' 카테고리의 다른 글

deepcopy vs slicing  (0) 2023.06.19
파이썬 함수  (0) 2019.07.05
파이썬에서의 제어문 for문  (0) 2018.08.06
파이썬에서의 제어문 while문  (0) 2018.08.06
파이썬에서의 제어문 if문  (0) 2018.08.06

댓글