Python에서 map() 함수를 사용하는 방법
Python의 map() 함수를 사용하는 방법을 알아보세요. 루프를 작성하지 않고 반복 가능 항목에 함수 적용을 마스터하고 맵을 목록 이해와 비교합니다.
개요
데이터 컬렉션을 처리할 때 iterable의 모든 단일 항목에 특정 변환을 적용해야 하는 경우가 많습니다. 예를 들어 문자열 숫자 목록을 정수로 변환하거나 문자열의 데이터베이스 배열을 소문자로 변환하여 정규화합니다. 장황한 `for` 루프를 작성하는 대신 Python은 `map()`이라는 내장 도구를 제공합니다.
`map(function, iterable)` 함수는 변환 함수와 반복 가능 함수를 인수로 받아들입니다. 이터러블의 각 요소에 함수를 적용하고 이터레이터 객체(`map` 객체)를 반환합니다. 반복자로 반환되기 때문에 계산이 느리게 실행됩니다. 요소는 요소를 반복할 때만 처리되므로 대규모 데이터 세트의 메모리가 절약됩니다.
지도 객체의 목록 표현을 즉시 얻으려면 `list()` 생성자 `list(map(func, data))`를 사용하여 결과를 캐스팅해야 합니다. 인라인 실행을 위해 표준 함수, 표준 라이브러리 함수(예: `str` 또는 `len`) 또는 `lambda` 키워드로 선언된 사용자 정의 익명 함수를 `map()`에 직접 전달할 수 있습니다.
코드 및 실행 출력
이 스크립트는 문자열 변환과 함께 map() 함수를 사용하여 컬렉션을 수정하고, 목록 항목을 숫자에 매핑하고, 람다 콜백을 사용하는 방법을 보여줍니다.
# 1. Map string conversion over a list of numbers
numbers = [1, 2, 3, 4]
string_numbers = list(map(str, numbers))
print("Mapped to strings:", string_numbers)
# 2. Square numbers using a lambda function inside map()
squared = list(map(lambda x: x**2, numbers))
print("Squared numbers:", squared)
# 3. Apply custom logic function to items
def normalize_name(name):
return name.strip().capitalize()
names = [" alice", "BOB ", " charlie "]
clean_names = list(map(normalize_name, names))
print("Clean names list:", clean_names)Mapped to strings: ['1', '2', '3', '4']
Squared numbers: [1, 4, 9, 16]
Clean names list: ['Alice', 'Bob', 'Charlie']단계별 구현
- 컬렉션의 모든 요소에 적용하려는 변환 기능을 식별하세요.
- 변환된 요소의 지연 반복자를 생성하려면 map(function_name, iterable)을 호출하세요.
- 모든 요소를 표준 목록으로 즉시 액세스해야 하는 경우 map() 호출을 list() 내부에 래핑합니다.
- 빠른 일회성 인라인 변환을 위해 map()을 람다 함수와 결합합니다.
자주 묻는 질문
map()이 목록 이해보다 나은가요?
커뮤니티에서는 일반적으로 목록 이해가 더 읽기 쉽고 파이썬적인 것으로 간주됩니다. 그러나 map()은 최적화된 C 코드 루프를 실행하므로 기존 내장 함수(예: map(str, list))를 적용할 때 더 빠를 수 있습니다.
map()은 여러 반복 가능 항목을 사용할 수 있나요?
예! 변환 함수가 여러 인수를 사용하는 경우 여러 반복 가능 항목을 map()에 전달할 수 있습니다. 예를 들어, map(lambda x, y: x + y, list1, list2)는 요소를 쌍으로 추가합니다.
관련 주제
Python에서 람다 함수를 사용하는 방법을 알아보세요. 람다 키를 사용하여 익명 함수, 인라인 콜백 및 목록 데이터 정렬을 마스터하세요.
Python에서 목록 이해를 사용하는 방법Python에서 목록 이해를 사용하는 방법을 알아보세요. 간결한 루프를 작성하고, 조건부 필터를 적용하고, 깔끔한 시각적 구문으로 행렬을 구축하세요.
Python에서 filter() 함수를 사용하는 방법Python의 filter() 함수를 사용하여 컬렉션에서 요소를 추출하는 방법을 알아보세요. 필터를 목록 이해 및 람다 콜백과 비교합니다.
권장 Python 리소스
관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.
Python 함수
Python 함수를 마스터하세요. def를 사용하여 재사용 가능한 코드를 작성하고, 인수를 정의하고, 값을 반환하고, 로컬 및 전역적으로 범위를 이해하는 방법을 알아보세요.
Python 수학 모듈 함수 치트 시트
Python 수학 표준 라이브러리에 대한 빠른 참조 가이드입니다. 삼각함수, 로그, 반올림 및 산술 함수를 사용하는 방법을 알아보세요.
Python 대 JavaScript: 어떤 프로그래밍 언어가 가장 좋나요?
Python과 JavaScript를 포괄적으로 비교합니다. 구문 차이점, 성능, 사용 사례(백엔드와 프런트엔드) 및 코딩 예제를 살펴보세요.