예제들을 풀어보면서 굉장히 많이 나왔던 map 함수에 대해 공부했다. 여러번 읽고 여러 블로그들을 구글링했지만 아직도 100퍼센트 이해하지는 못했다.. 그래도 조금이나마 정리를 해보려 한다.
map(적용시킬 함수, 적용할 요소들)
map 은 리스트의 요소를 지정된 함수로 처리해주는 함수이다.
예를 들어 리스트의 모든 요소에 1을 더한 리스트를 만들고 싶다고 가정해보자.
def add1(n):
return n+1
a = [1, 2, 3, 4]
li = []
for i in a:
li.append(add1(i))
print(li)
-> [2, 3, 4, 5]
이렇게 for문을 이용한 소스코드를 짜면 각 요소에 1을 더한 새로운 리스트가 생성된다.
map 함수는 같은 연산을 더 쉽고 빠르게 할 수 있게 해주는 함수이다. 위 소스를 map 함수를 이용해 간단히 바꿔보자.
def add1(n):
return n+1
a = [1, 2, 3, 4]
li = list(map(add1, a))
print(li)
-> [2, 3, 4, 5]
위와 같이 훨씬 간단하게 바꿀 수 있다.
또 다른 예를 들어보자.
실수 리스트를 정수로 변환하는 방법이다.
a = [1.4, 2.5, 3.7, 4.9]
for i in range(len(a)):
a[i] = int(a[i])
print(a)
-> [1, 2, 3, 4]
for문을 이용하면 위와 같다. 이 소스를 map 함수를 이용하여 간단하게 바꿀 수 있다.
a = [1.4, 2.5, 3.7, 4.9]
a = list(map(int, a))
print(a)
-> [1, 2, 3, 4]
이처럼 map 함수를 이용하면 훨씬 간단해진다.
map함수에 대해서는 이부분 외에도 더 알아보았지만 지금은 이만큼만 이해해도 다행인 것 같다. 더 공부해보아야겠다😃