SeouliteLab

[Python/파이썬] map() 함수: 이터러블 객체에 함수 적용하기 본문

프로그래밍

[Python/파이썬] map() 함수: 이터러블 객체에 함수 적용하기

Seoulite Lab 2024. 3. 6. 09:52

map() 함수는 파이썬의 내장 함수 중 하나로, 주어진 함수를 이터러블 객체의 각 요소에 적용하여 새로운 이터레이터를 반환합니다. 이번 글에서는 map() 함수의 사용법과 여러 가지 예제를 살펴보겠습니다.

map() 함수의 기본 구조

map(function, iterable)

map() 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 적용할 함수이고, 두 번째 인자는 함수를 적용할 이터러블 객체입니다.

예제 1: 리스트의 각 요소에 함수 적용하기

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x ** 2, numbers)
print(list(squared_numbers))  # 출력 결과: [1, 4, 9, 16, 25]

map() 함수를 사용하여 리스트의 각 요소에 제곱 연산을 적용하는 예제입니다.

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

words = ['apple', 'banana', 'cherry']
word_lengths = map(len, words)
print(list(word_lengths))  # 출력 결과: [5, 6, 6]

map() 함수를 사용하여 문자열 리스트의 각 요소의 길이를 구하는 예제입니다.

예제 3: 두 리스트의 각 요소를 더하기

list1 = [1, 2, 3]
list2 = [4, 5, 6]
sums = map(lambda x, y: x + y, list1, list2)
print(list(sums))  # 출력 결과: [5, 7, 9]

map() 함수를 사용하여 두 리스트의 각 요소를 더하는 예제입니다.

예제 4: 함수 적용 결과가 참인 요소 필터링하기

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
squared_even_numbers = map(lambda x: x ** 2, even_numbers)
print(list(squared_even_numbers))  # 출력 결과: [4, 16, 36, 64, 100]

filter() 함수와 map() 함수를 조합하여 짝수를 제곱하는 예제입니다.

예제 5: 문자열 리스트의 각 요소를 대문자로 변환하기

words = ['apple', 'banana', 'cherry']
capitalized_words = map(str.upper, words)
print(list(capitalized_words))  # 출력 결과: ['APPLE', 'BANANA', 'CHERRY']

map() 함수를 사용하여 문자열 리스트의 각 요소를 대문자로 변환하는 예제입니다.

예제 6: 두 개의 이터러블 객체를 이용한 계산

list1 = [1, 2, 3]
tuple1 = (4, 5, 6)
result = map(lambda x, y: x + y, list1, tuple1)
print(list(result))  # 출력 결과: [5, 7, 9]

두 개의 이터러블 객체를 이용하여 각 요소를 더하는 예제입니다.