쓰면서도 자꾸 헷갈리는 map 함수 정리
파이썬의 내장함수로, 리스트의 모든 원소 조작할 때 사용! = 여러 개의 데이터에 각 요소마다 함수를 적용한 결과를 반환해준다.
리스트, 튜플 등 반복 가능 객체(Iterable 타입)에 사용한다.
map(function, iterable)
# fuction - 각 요소에 적용할 함수
# iterable - 함수에 적용할 데이터 집합(입력)
예시
제곱 수를 구해보자.
def square(n):
return n*n
numbers = [2,3,4,5,6]
square_num = map(square, numbers)
print(square_num)
print(list(square_num))
<map object at 0x1002819c0>
[4, 9, 16, 25, 36]
map 함수의 결과를 그냥 출력하면 map object 로 나오므로, 최종 출력은 반복문이나 list() 메서드로 변환하여 출력해야한다.!
아래와 같이 입력 객체를 여러개 넣어 활용할 수 있다.
map(function, iterable1, iterable2)
# fuction - 각 요소에 적용할 함수
# iterable1, 2, ... - 함수에 적용할 데이터 집합(입력)
적용 함수 자리에 lambda 표현식 익명 함수를 넣어도 사용 가능하다. 람다 키워드를 사용하여 정의해야 한다.
map(lambda x: x*10, iterable)
# lambda 함수 - 예시로 10을 곱한 값을 내는 익명 함수 표현
# iterable - 함수에 적용할 데이터 집합(입력)