Python - 문제 미리보기

문제 1935

medium
다음 세 가지 복사 방법의 결과를 비교했을 때 올바른 것은?
```python
original = [1, 2, 3]

# 방법 A
copy_a = original.copy()

# 방법 B
copy_b = list(original)

# 방법 C
copy_c = original[:]

original.append(4)
```
A. A, B, C 모두 다른 결과
B. A, B, C 모두 동일한 결과
C. A와 B는 같고, C는 다름
D. A만 다르고, B와 C는 같음

정답: B



세 방법 모두 얕은 복사를 수행하여 동일한 결과를 만듦:

방법 A: `copy()` 메소드
⦁ 리스트 내장 메소드 사용
⦁ 가장 직관적이고 명확한 방법

방법 B: `list()` 생성자
⦁ 기존 이터러블을 새로운 리스트로 변환
⦁ 다양한 이터러블 타입에 사용 가능

방법 C: 슬라이스 `[:]`
⦁ 전체 범위 슬라이싱
⦁ 간결하지만 의도가 불분명할 수 있음

모든 방법의 공통점:
⦁ 새로운 리스트 객체 생성
⦁ 원본과 독립적으로 동작
⦁ 원본 수정이 복사본에 영향 안 줌

결과 (모두 동일):
⦁ `original`: `[1, 2, 3, 4]`
⦁ `copy_a`, `copy_b`, `copy_c`: `[1, 2, 3]`

💡 학습 팁

이 문제를 포함한 Python 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.