← 회차 전체 문제정처LAB 자체 제작내용 검수 완료정처LAB 정보처리기사 필기 자체 제작 2회 · 프로그래밍 언어 활용 · Python 복사 · 76번
Python 리스트를 얕게 복사한 뒤 내부 값을 변경했을 때 출력은?
a = [[1], [2]]
b = a[:]
b[0].append(3)
print(len(a[0]), len(b))
- 1
1 1
오답 이유`1 1`은 append와 b의 바깥 길이 2를 모두 반영하지 않은 결과다. - 2
1 2
오답 이유`1 2`는 내부 리스트까지 복사됐다고 본 결과지만 슬라이스는 바깥 리스트만 복사한다. - 3
2 1
오답 이유`2 1`은 내부 공유는 반영했으나 b 자체의 원소 수가 두 개인 점을 놓쳤다. - 4
2 2
정답 근거a와 b는 내부 리스트를 공유해 a[0] 길이가 2가 되고 b의 바깥 길이는 2이므로 `2 2`가 정답이다.
정답·상세해설정답 4번
슬라이스 복사 `a[:]`는 바깥 리스트만 새로 만들고 내부 리스트 객체는 공유하는 얕은 복사다. b[0]에 3을 추가하면 a[0]도 길이 2가 되며 바깥 b의 길이는 그대로 2다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-16