Map 함수
Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨. 78개 중 72번째.
map() 함수는 두 가지 주요 요소를 받습니다:
- 함수 (무엇을 해야 하는지에 대한 지침을 포함)
- 항목의 시퀀스 (예: list 또는 요소의 모든 컬렉션)
그런 다음 해당 function을 시퀀스의 각 항목에 하나씩 적용하고 모든 결과를 돌려줍니다.
예를 들어:
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로 만듭니다. 그리고 계속됩니다...
별도의 함수를 정의하는 대신 람다 함수도 사용할 수 있습니다:
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라는 함수를 만드세요. 이 함수는 lambda 함수와 함께 map() 함수를 사용하여 목록의 각 문자열을 대문자로 변환해야 합니다. 함수는 대문자로 변환된 문자열을 포함하는 목록을 반환해야 합니다.
직접 해보기
def convert_to_uppercase(strings):
# map()과 lambda 함수를 사용하여 문자열을 대문자로 변환하세요
# 아래의 빈 리스트를 해당 표현식으로 바꾸세요
uppercase_strings = []
# 대문자 문자열 리스트를 반환하세요
return list(uppercase_strings)이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
Logic & Flow의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러