문제
다음 Python 코드의 실행 결과를 쓰시오.
Pythondata = [7, 8, 9, 10, 11, 12] result = [x // 2 if x > 9 else x + 1 for x in data] print(result)
정답
[8, 9, 10, 5, 5, 6]
[8, 9, 10, 5, 5, 6]
해설
리스트 컴프리헨션에서 조건부 표현식을 사용한 문제입니다. 각 원소 x에 대해 x > 9이면 x // 2(정수 나눗셈), 그렇지 않으면 x + 1을 적용합니다.
- 7: 7 > 9는 False이므로 7 + 1 = 8
- 8: 8 > 9는 False이므로 8 + 1 = 9
- 9: 9 > 9는 False이므로 9 + 1 = 10
- 10: 10 > 9는 True이므로 10 // 2 = 5
- 11: 11 > 9는 True이므로 11 // 2 = 5
- 12: 12 > 9는 True이므로 12 // 2 = 6 따라서 결과는 [8, 9, 10, 5, 5, 6]입니다.