파이썬 map 함수란?
map 함수는 여러 개의 반복 가능한 객체를 입력으로 받아서 각 요소에 지정된 함수를 적용한 결과를 반환하는 함수이다.
map 함수의 기본 형태는 다음과 같다.
map(function, iterable)
첫 번째 인자로는 함수가 오고, 두 번째 인자로는 반복 가능한 자료형이 온다. 반환 값은 map 객체이기 때문에, 이를 리스트나 튜플로 변환해서 사용해야 한다.
map 함수 사용법
기본 사용법
리스트의 각 요소에 1을 더하는 함수를 적용해본다.
def add_one(n):
return n + 1
my_list = [1, 2, 3, 4, 5]
result = list(map(add_one, my_list))
print(result) # [2, 3, 4, 5, 6]
람다 함수와 함께 사용하기
위의 예제를 람다 함수로 변환하면 아래와 같다.
my_list = [1, 2, 3, 4, 5]
result = list(map(lambda x: x + 1, my_list))
print(result) # [2, 3, 4, 5, 6]
다양한 예제
다양한 예제를 통해 map 함수의 활용법을 알아볼 수 있다.
1.리스트의 값을 정수로 변환하기:
float_list = [1.1, 2.2, 3.3, 4.4, 5.5]
result = list(map(int, float_list))
print(result) # [1, 2, 3, 4, 5]
2.리스트의 값을 제곱하기:
def square(x):
return x ** 2
num_list = [1, 2, 3, 4, 5]
result = list(map(square, num_list))
print(result) # [1, 4, 9, 16, 25]
3.두 개의 리스트 요소를 더하기:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x + y, list1, list2))
print(result) # [5, 7, 9]
4.리스트의 값을 소수점 올림 처리하기:
import math
float_list = [1.1, 2.2, 3.3, 4.4, 5.5]
result = list(map(math.ceil, float_list))
print(result) # [2, 3, 4, 5, 6]
결론
map 함수는 반복 가능한 객체의 각 요소에 대해 동일한 작업을 수행할 때 매우 유용하다.
특히, 람다 함수와 함께 사용하면 코드가 더욱 간결해진다.