TIL-015 | Python_map 함수

Lee, Chankyu·2021년 9월 23일
0
post-thumbnail

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 함수와 연계하여 작성해보도록 해야겠다.😃

profile
Backend Developer - "Growth itself contains the germ of happiness"

0개의 댓글