Lecture 리스트의 복사

Views 186 • Comments 0 • Last Updated at 2 months ago Full screen  
  • 리스트
  • list
  • copy

리스트의 복사

얕은 복사

리스트의 복사에는 얕은 복사(shallow copy)와 깊은 복사(deep copy)가 있는데, 얕은 복사는 원래 리스트와 같은 내용을 공유하는 새로운 리스트를 만들어낸다. 따라서 새로운 리스트를 변경하면 원래 리스트도 영향을 받게 된다. 예를 들어, 얕은 복사로 리스트 b를 생성하면 리스트 a와 b가 같은 메모리를 공유하게 된다. 즉, 리스트 b를 변경하면 리스트 a도 함께 변경된다.

n1 = [1,2,3,4,5,6,7,8]
n2 = n1
n2[1] = 9  #n1[1]의 값도 바뀜
n1[2] = 0  #n2[2]의 값도 바뀜

깊은복사

깊은 복사는 변수를 복사할 때, 새로운 메모리 공간에 복사하여 완전히 새로운 변수를 생성하는 방법입니다.

깊은 복사된 변수는 얕은 복사와 달리 이름만 다른 것이 아니라 완전히 다른 메모리 공간을 차지하며, 복사된 변수를 변경해도 원본 변수는 변하지 않습니다.

깊은 복사는 copy.deepcopy() 함수를 사용하여 구현할 수 있습니다. 이 함수는 리스트뿐만 아니라 모든 파이썬 객체에 대해 깊은 복사를 수행합니다.

n1 = [1,2,3,4,5,6,7,8]
n2 = n1[:]
n3 = n1.copy()
n2[1] = 9  
n1[2] = 0  
n3[3] = 0
previous article
next article
Comments
Feel free to ask a question, answer or comment, etc.