⑪ map() + zip()
print(list(map(sum,zip((1,2,3),(10,20,30)))))
정답 및 해설
zip()
↓
(1,10)
(2,20)
(3,30)
↓
sum()
↓
11
22
33
sum()은
튜플의 합도 계산할 수 있다.
⑫ enumerate() + map()
print(list(enumerate(map(str,(10,20,30)),1)))
정답 및 해설
[(1,'10'),
(2,'20'),
(3,'30')]
map(str,...)
↓
'10'
'20'
'30'
↓
enumerate(...,1)
↓
번호 추가
map() 결과도
enumerate()에 사용할 수 있다.
⑬ zip() + map()
print(list(zip(map(str,(1,2,3)),"ABC")))
정답 및 해설
[('1','A'),
('2','B'),
('3','C')]
map(str)
↓
'1'
'2'
'3'
↓
zip()
↓
같은 위치끼리 묶는다.
zip()
안에는
iterator도 사용할 수 있다.
⑭ lambda + zip()
print(list(map(lambda x:x[0]*x[1],zip((1,2,3),(4,5,6)))))
정답 및 해설
zip()
↓
(1,4)
(2,5)
(3,6)
↓
곱셈
↓
4
10
18
lambda에서
x[0]
x[1]
접근은 매우 자주 사용된다.
⑮ enumerate() + zip() + lambda
print(list(map(lambda x:x[0]+x[1][0]+x[1][1],
enumerate(zip((1,2,3),(10,20,30))))))
정답 및 해설
enumerate()
↓
(0,(1,10))
(1,(2,20))
(2,(3,30))
↓
0+1+10=11
1+2+20=23
2+3+30=35
★★★★★
정보교사 임용
코딩테스트
Python 시험에서
가장 많이 응용되는 형태이다.