상위 목록: 하위 목록: 작성 날짜: 읽는 데 7 분 소요

맵(map) 함수

맵(map) 함수는 반복 가능한 데이터(목록, 사전 등)의 요소를 함수에 적용해 결과를 반환하는 함수입니다.

주로 반복문을 간소화하거나, 람다(lambda) 함수에 모든 값을 적용할 때 사용합니다.

맵 함수는 결괏값 = map(적용 함수, 범위)의 형태로 사용합니다.

map를 사용하여 범위의 대한 모든 값을 적용 함수에 대입하며, 모든 결과를 반환합니다.

lambda 함수와 list 함수를 같이 사용하여 결과를 반환합니다.



함수 생성

f = lambda x: x > 0
g = lambda x: x ** 2

print(list(map(f, range(-5, 5))))
print(list(map(g, range(5))))
결과
[False, False, False, False, False, False, True, True, True, True]
[0, 1, 4, 9, 16]

map(적용 함수, 범위)를 사용하여 모든 결과를 반환합니다.

list() 또는 set() 등의 구문을 추가하지 않으면 <map object at 0x05A2A890> 등의 iterator 형태로 출력됩니다.



형 변환

data = [-1.3, 5.5, 5.4]

f = map(int, data)

print(list(f))
결과
[-1, 5, 5]

간단한 형변환의 경우에는 map 함수를 사용한다면, 반복문 구성없이 간단하게 구현할 수 있습니다.



특정 연산 적용

def calc(x):
    return (x / 2) + 1


data = [-1.3, 5.5, 5.4]

f = map(calc, data)

print(list(f))
결과
[0.35, 3.75, 3.7]

맵(map) 함수는 논리 값과 관계 없이 모든 원소값을 함수에 적용하므로, 단순 반복 형태의 코드를 간단하게 구현할 수 있습니다.

필터(filter) 함수의 경우, 논리 값에 허용되는 조건만 적용하므로, 특정 조건에 관계 없이 일괄 적용할 수 있습니다.

  • Tip : 맵 함수와 필터 함수를 동시에 적용할 경우, 복잡한 형태의 구문도 간단하게 구현할 수 있습니다.

댓글 남기기