Radix sort를 파이썬으로 구현해보는 와중 map함수에 대해 알게 되었다.
map 함수는 function과 iterable한 객체(loop에 넣을 수 있는 즉, 순회 가능한 배열, dictionary, set 등)를 input으로 받아, 그 function에 iterable한 객체의 각 item들을 대입한 결과값을 출력한다. 예를 들어 간단한 function(x)을 x+2, iterable한 객체를 list=[1,2,3,4]라고 하고 map을 적용하면
def function(x):
return x+2
print(list(map(function, [1,2,3,4])))
>> [3,4,5,6]
위와 같이 나온다.
map(function, [1,2,3,4])
하고 list를 씌우는 이유는 map함수는 각 요소에 대해 function 함수를 적용한 결과를 새로운 iterator에 저장하고 이를 반환하기 때문에 list 안 씌우고 출력하면 아래와 같이 iterator 객체가 반환된다.
print(map(function, [1,2,3,4]))
>> <map object at 0x7e7f511c5480>