티스토리 뷰
Programming Language/Python basic
[Python] 리스트의 얕은 복사(swallow copy)와 깊은 복사(deep copy)
또야 2021. 4. 1. 20:59반응형
얕은 복사의 경우와
깊은 복사의 경우를
알아보자.
1. 얕은 복사(swallow copy)
1
2
3
4
5
|
scores1 = [10, 20, 30, 40, 50]
values1 = scores1
print("scores1 : ", scores1)
print("values1 : ", values1)
|
cs |
- 1. 결과

- 1. 설명
list scores1에
점수를 넣어주었고,
values1 = scores1로
values1에 scores1의
내용을 복사하였다.
하지만 이것은 얕은 복사이다.
얕은 복사라고 하는 이유를
파이썬 튜터를 통해 알아보자.

values1 = scores1를 했는데,
이는 scores1 리스트를
values1도 그저 같이
가리킬 뿐이다.
즉 scores1의 별칭이 되는 것이다.
위와 같은 것을
얕은 복사라고 한다.
2. 깊은 복사
1
2
3
4
5
6
7
8
9
|
from copy import deepcopy
scores2 = [10, 20, 30, 40, 50]
values2 = deepcopy(scores2)
values2[4] = 99
print("scores2 : ", scores2)
print("values2 : ", values2)
|
cs |
- 2. 결과

- 2. 설명
deepcopy() 내장 함수를 사용하여
리스트를 받아
복사본을 생성하여 반환하면
깊은 복사가 된다.

values2[4] = 99를 하면
아래와 같이 바뀐다.

-
이외에도
values2 = list(scores2)와 같이
list() 내장 함수를 이용해도
위와 같은 결과가 출력된다.
즉 깊은 복사 란,
리스트가 같은 곳을 가리키지 않고
리스트를 받아
복사본을 생성하여
하나의 새 리스트가
반환되는 것이다.
반응형
'Programming Language > Python basic' 카테고리의 다른 글
[Python] 순차 탐색 구현 + 조건을 만족하는 항목 모두 찾기 (0) | 2021.04.02 |
---|---|
[Python] 리스트 함축 (List Comprehension) (0) | 2021.04.02 |
[Python] 리스트의 요소와 인덱스 찾기, 리스트 정렬하기 (0) | 2021.04.01 |
[Python] 문자열 처리 프로그램 (문자열을 저장하였다가 출력하는 프로그램) (0) | 2021.04.01 |
[Python] 학생들의 성적을 처리하는 프로그램 (0) | 2021.04.01 |
댓글
반응형
Recent Post.
Recent Reply.
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요