Python - 문제 미리보기

문제 1955

medium
다음 코드의 실행 결과는?
```python
numbers = (1, 2, 3)
temp_list = list(numbers)
temp_list.append(4)
temp_list.append(5)
numbers = tuple(temp_list)
print(numbers)
print(len(numbers))
```
A. `(1, 2, 3, 4, 5)`, `5`
B. `(1, 2, 3)`, `3`
C. `[1, 2, 3, 4, 5]`, `5`
D. `(1, 2, 3, [4, 5])`, `4`

정답: A



⦁ 튜플에 요소 추가하는 우회 방법
⦁ 리스트 변환 → 요소 추가 → 튜플 재변환

실행 과정:
1. `numbers = (1, 2, 3)`: 원본 튜플
2. `temp_list = list(numbers)`: `[1, 2, 3]`
3. `temp_list.append(4)`: `[1, 2, 3, 4]`
4. `temp_list.append(5)`: `[1, 2, 3, 4, 5]`
5. `numbers = tuple(temp_list)`: `(1, 2, 3, 4, 5)`

결과:
⦁ `numbers`: `(1, 2, 3, 4, 5)` (새로운 튜플)
⦁ `len(numbers)`: `5` (길이 증가)

이 방법의 특징:
⦁ 완전히 새로운 튜플 생성
⦁ 원본 튜플 객체는 메모리에서 제거됨 (가비지 컬렉션)
⦁ 변수명은 같지만 내용과 객체 ID는 다름

💡 학습 팁

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