Python 한 줄 코딩 출력 결과 예측 (1~5)

① *args + sum()

print((lambda *a:sum(a))(10,20,30))
정답 및 해설
60
실행 과정 ① lambda 함수 생성 ② *a ↓ (10,20,30) ③ sum() ↓ 10+20+30 ↓ 60
핵심 *args는 tuple이다.

② map() + lambda

print(list(map(lambda x:x*2,(1,2,3))))
정답 및 해설
[2,4,6]
map() ↓ 모든 원소에 lambda 적용 1→2 2→4 3→6
map()은 반복 가능한 객체(iterator)를 반환한다.

③ enumerate()

print(list(enumerate("ABC",1)))
정답 및 해설
[(1,'A'),
 (2,'B'),
 (3,'C')]
enumerate() ↓ 번호를 붙인다. 시작 번호는 1
기본 시작 번호는 0이다.

④ zip()

print(list(zip((10,20,30),"ABC")))
정답 및 해설
[(10,'A'),
 (20,'B'),
 (30,'C')]
zip() ↓ 같은 위치끼리 묶는다. 10 ↔ A 20 ↔ B 30 ↔ C
zip()은 가장 짧은 iterable 길이에 맞춘다.

⑤ zip() + map() + lambda

print(list(map(lambda x:x[0]+x[1],zip((1,2,3),(10,20,30)))))
정답 및 해설
[11,22,33]
zip() ↓ (1,10) (2,20) (3,30) ↓ lambda ↓ 1+10 2+20 3+30
★★★★★ 가장 많이 출제되는 zip()+map()+lambda 조합이다.