Map 함수
Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 72번째.
map() 함수는 두 가지 주요 요소를 인자로 받습니다:
- 함수 (무엇을 할지에 대한 지침을 포함함)
- 항목들의 시퀀스 (리스트나 요소들의 컬렉션 등)
그런 다음 시퀀스의 각 항목에 해당 함수를 하나씩 적용하고, 모든 결과를 반환합니다.
예를 들어:
def square(n):
return n * n
numbers = [1, 2, 3, 4, 5] # 이것은 단지 숫자 리스트입니다
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# 출력: [1, 4, 9, 16, 25]여기서 일어난 일:
- 숫자 목록이 있습니다: [1, 2, 3, 4, 5]
map()함수는 각 숫자를 하나씩 가져옵니다- 각 숫자를
square함수에 통과시킵니다 - 모든 결과를 순서대로 수집합니다
이것을 조립 라인처럼 생각할 수 있습니다:
- 숫자 1이 들어갑니다 → square 함수가 이를 1로 만듭니다
- 숫자 2가 들어갑니다 → square 함수가 이를 4로 만듭니다
- 숫자 3이 들어갑니다 → square 함수가 이를 9로 만듭니다. 기타 등등...
별도의 함수를 정의하는 대신 람다(lambda) 함수를 사용할 수도 있습니다:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# 출력: [1, 4, 9, 16, 25]map() 함수는 숫자뿐만 아니라 어떤 항목 컬렉션과도 작동합니다. 문자열일 수도 있고, 동일한 방식으로 처리하고 싶은 다른 어떤 유형의 데이터일 수도 있습니다.
챌린지
쉬움문자열 리스트 strings를 인자로 받는 convert_to_uppercase라는 이름의 함수를 작성하세요. 이 함수는 map() 함수와 람다 함수를 사용하여 리스트의 각 문자열을 대문자로 변환해야 합니다. 함수는 대문자로 변환된 문자열이 포함된 리스트를 반환해야 합니다.
치트 시트
map() 함수는 시퀀스의 각 항목에 함수를 적용하고 그 결과를 반환합니다:
def square(n):
return n * n
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# 출력: [1, 4, 9, 16, 25]map()과 함께 람다(lambda) 함수를 사용할 수도 있습니다:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# 출력: [1, 4, 9, 16, 25]map() 함수는 숫자뿐만 아니라 모든 유형의 데이터와 함께 작동합니다.
직접 해보기
def convert_to_uppercase(strings):
# map()과 lambda 함수를 사용하여 문자열을 대문자로 변환합니다
uppercase_strings =
# 대문자로 변환된 문자열 리스트를 반환합니다
return list(uppercase_strings)이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.