Table of Contents

728x90

Python에서 map 함수는 주로 시퀀스의 모든 항목에 함수를 적용하여 결과를 반환하는 데 사용됩니다. 이 함수는 두 가지 주요 매개변수를 받습니다: 하나는 적용할 함수이고, 다른 하나는 이 함수가 적용될 하나 이상의 이터러블(리스트, 튜플 등)입니다.

map 함수의 기본 구조는 다음과 같습니다:

map(function, iterable, ...)
  • function: 각 요소에 적용할 함수입니다. 이 함수는 한 개의 입력을 받고 결과를 반환해야 합니다.
  • iterable: 함수가 적용될 데이터를 포함하고 있는 이터러블 객체입니다. 여러 이터러블을 전달할 수도 있으며, 이 경우 함수는 해당 이터러블들의 요소를 차례대로 인자로 받습니다.

map 함수는 결과를 직접 리스트나 다른 형태로 반환하지 않습니다. 대신, map 객체를 반환하는데, 이는 레이지하게 동작합니다. 즉, 실제로 요청(예를 들어 리스트로 변환하거나 반복을 시작할 때)할 때까지 요소의 계산을 수행하지 않습니다.

예제

아래는 map 함수의 사용 예제입니다:

# 각 숫자의 제곱을 계산하는 함수
def square(number):
    return number ** 2

# 숫자 리스트
numbers = [1, 2, 3, 4, 5]

# map 함수 사용
squared_numbers = map(square, numbers)

# map 객체를 리스트로 변환하여 결과 출력
print(list(squared_numbers))  # 출력: [1, 4, 9, 16, 25]

이 예제에서는 각 숫자를 제곱하는 함수 square를 정의하고, numbers 리스트의 각 요소에 이 함수를 적용했습니다. map 함수는 각 요소에 함수를 적용한 결과를 담은 map 객체를 반환하고, list() 함수를 사용하여 이를 리스트로 변환했습니다.

map은 데이터를 변환하거나 정보를 추출하는 데 유용하게 사용할 수 있습니다, 특히 여러 데이터 항목에 대해 동일한 연산을 반복해야 할 때 매우 효율적입니다.

'Python' 카테고리의 다른 글

리스트 안의 요소와 값의 크기를 비교하려면?  (0) 2024.04.28
list리스트와 tuple튜플  (0) 2024.04.28
list를 활용한 함수  (1) 2024.04.28
문자열 처리 str / repr  (1) 2024.04.21
Type Annotation Convention을 따르자  (0) 2024.04.21