본문 바로가기
카테고리 없음

Python map() 함수 활용법과 예제 10가지

by blog-bolger 2025. 3. 28.
반응형
Python map() 함수 활용법과 예제 10가지

Python의 map() 함수는 주어진 함수와 iterable(반복 가능한 객체)의 각 요소를 결합하여 새로운 iterable을 만들어 줍니다. 이 함수는 코드의 가독성을 높이고, 반복문보다 간결하게 데이터를 처리할 수 있도록 도와줍니다. 이번 글에서는 map() 함수의 기본 사용법과 다양한 예제를 통해 실용적인 팁을 제공하겠습니다.

map() 함수의 기본 사용법

map() 함수의 기본 문법은 다음과 같습니다:

map(function, iterable)

여기서 function은 적용할 함수이며, iterable은 리스트, 튜플 등 반복 가능한 객체입니다. map() 함수는 각 요소에 함수를 적용한 결과를 반환하는 객체를 생성합니다. 이 객체는 리스트로 변환할 수 있습니다.

실용적인 팁 5가지

팁 1: 람다 함수와 함께 사용하기

map() 함수는 람다 함수와 함께 사용할 때 매우 유용합니다. 짧고 간단한 함수를 정의할 수 있어 코드가 깔끔해집니다. 예를 들어, 리스트의 각 요소에 2를 곱하고 싶다면 다음과 같이 작성할 수 있습니다:

result = list(map(lambda x: x * 2, [1, 2, 3, 4]))

이 코드는 각각의 요소에 2를 곱한 새로운 리스트를 생성합니다.

팁 2: 여러 iterable 처리하기

map() 함수는 여러 개의 iterable을 동시에 처리할 수 있습니다. 이 경우, 각 iterable의 같은 인덱스 요소가 함께 함수에 전달됩니다. 예를 들어, 두 리스트의 요소를 더하고 싶다면:

result = list(map(lambda x, y: x + y, [1, 2, 3], [4, 5, 6]))

이 코드는 각 리스트의 요소를 더한 결과를 반환합니다.

팁 3: 데이터 전처리에 활용하기

데이터 분석이나 머신러닝에서는 데이터를 전처리하는 과정이 필수적입니다. map() 함수를 사용하여 데이터의 형식을 변환하거나 결측값을 처리하는 데 유용합니다. 예를 들어, 문자열로 된 숫자를 정수로 변환할 때:

result = list(map(int, ['1', '2', '3']))

이 코드는 문자열 리스트를 정수 리스트로 변환합니다.

팁 4: 필터링과 함께 사용하기

필터링과 함께 map() 함수를 사용하면 특정 조건을 만족하는 요소에만 함수를 적용할 수 있습니다. 예를 들어, 짝수만 제곱하고 싶다면:

result = list(map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5])))

이 코드는 짝수만 제곱한 리스트를 반환합니다.

팁 5: 성능 최적화

map() 함수는 일반적인 for 루프보다 성능이 뛰어납니다. 큰 데이터셋을 처리할 때 map()을 사용하면 속도를 개선할 수 있습니다. map() 함수는 C로 구현되어 있어 내부적으로 최적화되어 있기 때문입니다. 대량의 데이터를 처리할 때는 map()을 활용하여 성능을 높여보세요.

map() 함수 활용 예제

예제 1: 리스트의 문자열 길이 구하기

리스트에 있는 문자열의 길이를 구하는 간단한 예제입니다. 다음 코드를 통해 각 문자열의 길이를 한 번에 계산할 수 있습니다:

words = ["apple", "banana", "cherry"]
lengths = list(map(len, words))

이 코드는 각 문자열의 길이를 담은 리스트 [5, 6, 6]을 반환합니다.

예제 2: 화씨를 섭씨로 변환하기

온도를 화씨에서 섭씨로 변환하는 과정입니다. 다음과 같이 map() 함수를 사용하여 간편하게 변환할 수 있습니다:

fahrenheit = [32, 68, 104]
celsius = list(map(lambda f: (f - 32) * 5/9, fahrenheit))

이 코드는 화씨 리스트를 섭씨 리스트로 변환하여 [0.0, 20.0, 40.0]을 반환합니다.

예제 3: 리스트의 요소 제곱하기

리스트의 각 요소를 제곱하는 예제입니다. map() 함수를 사용하여 간단하게 구현할 수 있습니다:

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))

이 코드는 각 요소를 제곱한 결과인 [1, 4, 9, 16, 25]를 반환합니다.

결론 및 요약


map() 함수는 Python에서 데이터를 효율적으로 처리하는 데 매우 유용한 도구입니다. 함수형 프로그래밍을 통해 코드를 간결하게 만들어주고, 반복문보다 성능이 뛰어난 경우가 많습니다. 다양한 예제를 통해 map()의 활용 방법을 익혔다면, 실제 프로젝트에 적용해 보세요.

마지막으로, 실천 팁을 정리하자면:

  • 람다 함수와 map()을 함께 사용하여 코드를 간결하게 유지하세요.
  • 여러 iterable을 동시에 처리하여 복잡한 데이터를 간단하게 변환하세요.
  • 데이터 전처리에 map()을 활용하여 효율성을 높이세요.
  • 필터링과 함께 사용하여 조건에 맞는 데이터만 처리하세요.
  • 성능이 중요한 경우, map()을 사용하여 속도를 개선하세요.

이제 여러분도 Python의 map() 함수를 활용하여 더욱 효율적으로 데이터를 처리할 수 있을 것입니다. 다양한 예제를 통해 배운 내용을 실제로 적용해 보세요!

반응형