[Python] 리스트 복사

Sujin Lee·2022년 9월 20일
0

Python

목록 보기
4/13
post-thumbnail

Copy

  • 일반적인 복사
list_A = ["ABC","DEF"]
list_B = list_A
  • 리스트는 1개만 존재하지만 2가지의 이름으로 가리키는 것
  • B를 수정했지만 A에도 반영된다.
list_A = ["ABC","DEF"]

list_B = list_A

list_B.append("GHI")

print(list_A)
# ["ABC","DEF","GHI"]

https://black-hair.tistory.com/49

얕은 복사 4가지 방법

1. 슬라이싱

list1 = [1, 2, 3, 4]
list2 = list1[:]

2. list() 함수

list1 = [1, 2, 3, 4]
list2 = list(list1)

3. copy() 메소드

list1 = [1, 2, 3, 4]
list2 = list1.copy()

4. 리스트 연산

list1 = [1, 2, 3, 4]
list2 = [] + list1

깊은 복사

  • 객체의 변형성에 따라서 불변형 객체는 그대로 가져오고 변형 객체는 새로운 공간에 값을 복사하여 가져오게 되는 것
  • deepcopy의 경우 시간이 오래 걸리고 메모리를 많이 사용한다는 단점이 있음
import copy

list_A = ["ABC",["DEF","GHI"]]

list_B = copy.deepcopy(list_A)

list_B[1][0] = ["GHI"]

print(list_A, list_B)
결과 ['ABC', ['DEF', 'GHI']] ['ABC', [['GHI'], 'GHI']]
profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글