Python/Study

[Python] map 함수

dori_0 2022. 2. 18. 19:33

[Python] map 함수

  • 파이썬의 내장 함수 map()
  • 여러 개의 데이터를 한 번에 다른 형태로 변환하기 위해 사용
  • list, tuple에 대해 자주 사용

 


▶ 사용법

  • map(함수, 순회 가능한 객체)

 

 

 map 함수 예시 (1)

직육면체의 가로, 세로, 높이 개수를 입력받아 가로+세로+높이를 구해보자

가로(W), 세로(L), 높이(H)

 

case 1) map 함수 사용 X

rect = input("직육면체의 가로, 세로, 높이의 개수를 입력하세요:").split()

W = int(rect[0])
L = int(rect[1])
H = int(rect[2])

W + L + H  # 가로+세로+높이 개수
  • 만약 입력 받는 변수가 많다면, 하나하나 int로 바꿔줘야 하는 불편함이 있다.

 

 

case 2) map 함수 사용

W, L, H = map(int, input("직육면체의 가로, 세로, 높이의 개수를 입력하세요:").split())
W + L + H  # 가로+세로+높이 개수
  • W, L, H를 한번에 int로 바꿔줬기 때문에 편리하다.

 

 

 map 함수 예시 (2)

  • 실수로 저장된 요소들을 정수로 변환
num = [1.27, 2.35, 3.19, 4.5]
num = list(map(int, a))
num

 

  • 모든 요소에 100 곱해서 반환 (def)
# def 사용
num = [1, 2, 3, 4]

def num_100(n):
    return n * 100

list(map(num_100, num))

 

  • 모든 요소에 100 곱해서 반환 (lambda)
# lambda 사용
num = [1, 2, 3, 4]
list(map(lambda n:n*100, num))

한 번만 쓰고 말 함수에는 def 함수 대신 일회용 함수 lambda를 쓰는 것이 좋다.