Map

Python의 map() filter() reduce() 사용 방법 정리

가끔씩 Python의 map(), filter(), reduce()에 대해 헷갈리는 것들이 있어서 정리해 본다.

map(function, iterable, …)

iterable에 있는 모든 요소에 function을 적용하여 그 결과를 반환한다. function은 여러 인자를 받을 수 있어야 하고, 모든 iterable의 아이템에 동시에 적용되도록 해야 한다.

>>> l1 = [1, 2, 3, 4]
>>> map(lambda x: x * 2, l1)
<map object at 0x1006d1040>

map()을 수행한 결과는 map object로 반환되므로, 이를 list나 tuple로 바꾸는 작업이 필요하다.

>>> list(map(lambda x: x * 2, l1))
[2, 4, 6, 8]

함수 정의를 보면, iterable 뒤에 ...이 붙는 것을 볼 수 있다. 여러 iterable을 붙이면 어떻게 될까?