728x90
반응형
안녕하세요. 스마트 팩토리입니다.
파이썬 중급 #073 리스트 - 복사(shallow copy)에 대한 이해를 해 보도록 하겠습니다.
1. 리스트 복사(shallow copy)
-얕은 복사
-리스트 복사는 리스트 변수요소값이 있는 주소를 받아서 가리키는 것
- 복사본에서 리스트 요소를 변경시 원본도 변경되는 경우
코드를 보면서 알아보겠습니다.
nums=[]
for i in range(1,6):
nums.append(i)
print("nums :",nums)
cnums=nums
print("cnums :",cnums)
nums 를 먼저 생성하고 이후 nums를 cnums에 대입하였습니다. 일반적인 복사의 개념으로 볼 수 있습니다. 하지만 여기서는 두 리시트 변수가 가리키고 있는 주소값이 동일한 것입니다.
nums.append(7)
print("nums :",nums)
print("cnums :",cnums)
nums에 요소 7을 넣어주면 복사본인 cnums 값도 변경되는 것을 볼 수 있다.
cnums.append(10)
print("nums :",nums)
print("cnums :",cnums)
같은 방법으로 복사본인 cnums 값에 요소값을 추가하여도 nums 값이 변경되는 것을 볼 수 있다.
이는 말그대로 복사본이긴 하지만 독립적이지 않은 복사본으로 볼 수 있다.
nums=[]
for i in range(1,6):
nums.append(i)
print("nums :",nums)
cnums=nums
print("cnums :",cnums)
nums.append(7)
print("nums :",nums)
print("cnums :",cnums)
cnums.append(10)
print("nums :",nums)
print("cnums :",cnums)
728x90
반응형
'Python' 카테고리의 다른 글
파이썬 중급 #075 리스트 - 깊은 복사(deep copy) (2) (0) | 2022.05.21 |
---|---|
파이썬 중급 #074 리스트 - 깊은 복사(deep copy) (1) (0) | 2022.05.20 |
파이썬 중급 #072 리스트 - 정렬하기 리스트명.sort(), sorted(리스트명) (0) | 2022.05.18 |
파이썬 중급 #071 리스트 - 일치검사, 리스트 크기비교 (0) | 2022.05.17 |
파이썬 중급 #070 리스트 - 리스트 요소 출력 (end="") (0) | 2022.05.16 |
댓글