Python 강좌 : 제 23강 - 맵 함수

Python map

Python 강좌 : 제 23강 - 맵 함수
[ Python ] - 윤대희

맵(map) 함수


맵(map) 함수는 반복 가능한 데이터(목록, 사전 등)의 요소를 함수에 적용해 결과를 반환하는 함수입니다.

주로 반복문을 간소화하거나, 람다(lambda) 함수에 모든 값을 적용할 때 사용합니다.

맵 함수는 결괏값 = map(적용 함수, 범위)의 형태로 사용합니다.

map를 사용하여 범위의 대한 모든 값을 적용 함수에 대입하며, 모든 결과를 반환합니다.

lambda 함수와 list 함수를 같이 사용하여 결과를 반환합니다.



함수 생성


f = lambda x: x > 0
g = lambda x: x ** 2

print(list(map(f, range(-5, 5))))
print(list(map(g, range(5))))
결과
[False, False, False, False, False, False, True, True, True, True]
[0, 1, 4, 9, 16]

map(적용 함수, 범위)를 사용하여 모든 결과를 반환합니다.

list() 또는 set() 등의 구문을 추가하지 않으면 <map object at 0x05A2A890> 등의 iterator 형태로 출력됩니다.



형 변환


data = [-1.3, 5.5, 5.4]

f = map(int, data)

print(list(f))
결과
[-1, 5, 5]

간단한 형변환의 경우에는 map 함수를 사용한다면, 반복문 구성없이 간단하게 구현할 수 있습니다.



특정 연산 적용


def calc(x):
    return (x / 2) + 1


data = [-1.3, 5.5, 5.4]

f = map(calc, data)

print(list(f))
결과
[0.35, 3.75, 3.7]

맵(map) 함수는 논리 값과 관계 없이 모든 원소값을 함수에 적용하므로, 단순 반복 형태의 코드를 간단하게 구현할 수 있습니다.

필터(filter) 함수의 경우, 논리 값에 허용되는 조건만 적용하므로, 특정 조건에 관계 없이 일괄 적용할 수 있습니다.


  • Tip : 맵 함수와 필터 함수를 동시에 적용할 경우, 복잡한 형태의 구문도 간단하게 구현할 수 있습니다.


Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python 강좌 : 제 22강 - 필터 함수 ⤧  Next post Python 강좌 : 제 24강 - 집 함수
    Python Category