문제
다음 Python 프로그램의 실행 결과는?
data = {'x': [1, 2, 3], 'y': [4, 5, 6]} result = {k: v[-1] for k, v in data.items() if len(v) > 2} print(len(result)) print(sum(result.values()))
① 2 9 ② 1 6 ③ 2 6 ④ 0 0
정답
1번
해설
딕셔너리 컴프리헨션에서 len(v) > 2 조건을 만족하는 키는 'x', 'y' 모두이다. v[-1]은 각 리스트의 마지막 원소를 의미하므로 result = {'x': 3, 'y': 6}이 된다. len(result) = 2, sum(result.values()) = 3 + 6 = 9이다. 딕셔너리 컴프리헨션과 조건문, 리스트 인덱싱이 복합적으로 작용하는 문제이다.