산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 map() 함수 마스터하기: 문법, 예제, 모범 사례

파이썬 map() 함수 마스터하기: 문법, 예제, 모범 사례

파이썬 내장 map()은 이터러블(리스트, 튜플, 세트, 문자열, 딕셔너리 등)의 모든 항목에 함수를 적용하고 새로운 이터러블을 반환합니다. 파이썬에서 함수형 스타일 프로그래밍의 초석입니다.

배울 내용

문법

map(function, iterable1, iterable2, ... iterableN)

매개변수

반환값

결과는 map 객체—변환된 항목을 산출하는 지연 이터러블입니다. 리스트, 튜플, 세트로 변환해 값을 소비합니다.

map() 작동 원리

리스트의 각 숫자를 제곱하는 간단한 예제:

def square(n):
    return n * n

my_list = [2, 3, 4, 5, 6, 7, 8, 9]
updated = map(square, my_list)
print(list(updated))  # [4, 9, 16, 25, 36, 49, 64, 81]

map 객체는 지연 평가되며, 리스트로 변환하면 강제 평가됩니다.

내장 함수와 map() 사용

단일 인자를 받는 내장 함수와 map() 결합. 예를 들어 실수 반올림:

values = [2.6743, 3.63526, 4.2325, 5.9687967, 6.3265, 7.6988, 8.232, 9.6907]
rounded_vals = map(round, values)
print(list(rounded_vals))  # [3, 4, 4, 6, 6, 8, 8, 10]

문자열에 Map 적용

문자열은 이터러블이므로 map()으로 각 문자나 단어 변환 가능:

def to_upper(s):
    return s.upper()

text = "welcome to guru99 tutorials!"
print("".join(map(to_upper, text)))  # WELCOME TO GURU99 TUTORIALS!

숫자 리스트에 Map 적용

def times_ten(n):
    return n * 10

nums = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(times_ten, nums)))  # [20, 30, 40, 50, 60, 70, 80, 90]

튜플에 Map 적용

def to_upper_str(s):
    return s.upper()

languages = ("php", "java", "python", "c++", "c")
print(list(map(to_upper_str, languages)))  # ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

딕셔너리와 세트에 Map 적용

딕셔너리 순회 시 map()은 키를 받습니다. 세트는 순서가 임의적입니다.

def times_ten(n):
    return n * 10

sample_set = {2, 3, 4, 5, 6, 7, 8, 9}
print(sorted(map(times_ten, sample_set)))  # [20, 30, 40, 50, 60, 70, 80, 90]

람다 함수 사용

익명 함수로 코드 간결화:

nums = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(lambda x: x * 10, nums)))  # [20, 30, 40, 50, 60, 70, 80, 90]

여러 이터레이터

예제 1: 두 리스트 더하기

def add(a, b):
    return a + b

list1 = [2, 3, 4, 5, 6, 7, 8, 9]
list2 = [4, 8, 12, 16, 20, 24, 28]
print(list(map(add, list1, list2)))  # [6, 11, 16, 21, 26, 31, 36]

예제 2: 리스트와 튜플 요소 연결

def concat(a, b):
    return f"{a}_{b}"

letters = ['a', 'b', 'b', 'd', 'e']
brands = ('PHP', 'Java', 'Python', 'C++', 'C')
print(list(map(concat, letters, brands)))  # ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

핵심 요약

python

  1. 파이썬 람다 함수: 익명 함수 실전 가이드
  2. Python 제너레이터: 효율적 이터레이션과 고급 활용
  3. Python 클로저 이해하기: 중첩 함수가 변수 캡처하는 방법
  4. Python 데코레이터 마스터하기: 전문 기법으로 함수 강화
  5. C++ 연산자 오버로딩 실전 가이드: 문법, 접근법, 코드 예제
  6. C++ 함수 완전 정복: 실전 코드 예제로 이해하기
  7. Python print() 함수 완벽 가이드: 예제와 고급 기법
  8. Python strip() 메서드 완전 정복: 종합 가이드와 실전 예제
  9. Python str.count() 마스터하기: 문자 및 부분문자열 개수 세기 예제
  10. Python format() 문자열 마스터하기: 명확한 예제로 완전 정복