문제
다음 Python 코드의 출력 결과에서 ①~⑧에 들어갈 값으로 가장 적절한 것은?
Pythondata = [ [3, 5, 2, 4, 1], [4, 5, 1], [4, 4, 1, 5, 4], [4, 5] ] result = {} for index, lis in enumerate(data): list_sum = sum(lis) list_len = len(lis) result[index] = (list_sum, list_len) print(result)
<출력 형식>
{0: (①, ②), 1: (③, ④), 2: (⑤, ⑥), 3: (⑦, ⑧)}
① ①=15, ②=5, ③=10, ④=3, ⑤=18, ⑥=5, ⑦=9, ⑧=2 ② ①=14, ②=5, ③=10, ④=3, ⑤=18, ⑥=5, ⑦=9, ⑧=2 ③ ①=15, ②=4, ③=10, ④=3, ⑤=18, ⑥=5, ⑦=9, ⑧=2 ④ ①=15, ②=5, ③=9, ④=3, ⑤=18, ⑥=5, ⑦=9, ⑧=2
정답
1번
해설
정답: 1. 각 리스트의 합과 길이를 튜플로 저장한다. 합과 길이는 각각 (15,5), (10,3), (18,5), (9,2)이다.
오답 풀이
- 1번: 네 리스트의 합과 길이가 모두 맞다.
- 2번: 첫 번째 리스트 합을 잘못 계산했다.
- 3번: 첫 번째 리스트 길이를 잘못 계산했다.
- 4번: 두 번째 리스트 합을 잘못 계산했다.
보충 개념 enumerate는 인덱스와 값을 함께 반환한다. sum은 리스트 원소의 합, len은 리스트 길이를 반환한다.