TIL-015 | Python_map 함수
map 함수
map()
함수는 파이썬의 내장함수이며, list, dictionary와 같이 iterable한 데이터를 인자로 받아 한번에 다른형태로 변환하기 위하여 사용된다.- map 함수의 반환 값은 map객체이며, 해당 값을 list 또는 tuple로 변환해줘야 한다.
#기본 문법
map(변환 함수, iterable data)
- 위의 map함수 기본 구조의 동작은 두 번째 인자로 들어온 iterable data(list or tuple)를 첫 번째 인자로 들어온 함수에 하나씩 대입하여서 함수를 수행하는 형태이다.
#예시
myList = [1,2,3,4,5]
#for 반복문을 사용하는 코드
result = []
for i in myList:
result.append(i * 2)
print(result)
# map 함수를 사용하는 코드
def func(a):
return a * 2
list(map(func,myList)) #[2,4,6,8,10]
# map 객체를 list로 형변환시켜주는 것을 잊으면 안된다.
- 위와 같이 리스트의 각 요소들에 2를 곱한 값을 반환하는 코드를 작성한다고 가정하면, map함수를 사용하는 방법이 있고 for 반복문을 사용하는 방법이 있다.
- for 반복문을 사용할 경우 리스트의 요소에 각각 접근하여 result 리스트에 하나씩 append 해줘야한다.
반면, map 함수를 사용할 경우 리스트에 함수를 적용하여 얻어진 결과값(map 객체)을 리스트로 한번에 변환한다.
📝 그동안 알고리즘 문제를 풀면서 항상 다른 사람의 풀이를 통해 더 좋은 풀이법을 터득하고자 노력했었다. 나의 답안보다 훨씬 간결한 코드들을 보다보면 map 함수의 첫 번째 인자로 람다 함수를 대입하여 전체 코드 길이를 비약적으로 줄여 매우 간결해진 경우가 종종 있었다.
일회성으로 사용되는 함수거나 짧은 함수의 경우에는 람다 함수를 map 함수의 인자로 사용하는게 더 효율적일수 있기 때문에 좀 더 집중적으로 공부하고 익숙해져야 할 필요가 있을것으로 생각된다.
람다 함수에 대해 학습하고 글을 작성할때 map 함수와 연계하여 작성해보도록 해야겠다.😃
Author And Source
이 문제에 관하여(TIL-015 | Python_map 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lck0827/TIL-015-Pythonmap-함수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)