Python

[Python] map() 함수 / 여러 input 값의 자료형을 한 번에 바꾸는 방법

쟈비쓰 2021. 8. 31. 15:11
728x90

난 보통 여러 개의 input값을 받아서 자료형을 바꿀 때 일일이 int() 같은 함수를 씌워줘서 바꿨다.

(input 값은 디폴트가 str이다.)

# 5개의 정수(n1, n2, n3, n4, n5)의 합 구하기

n1, n2, n3, n4, n5 = input("다섯 개의 정수를 입력하세요 (ex. 1 2 3 4 5) : ").split()

sum = int(n1) + int(n2) + int(n3) + int(n4) + int(n5)
print("합 : ", sum)

매우 번거롭지만 이것밖에 방법이 없는 줄 알았다.

 

 

 

그런데 map() 함수를 써서 한 번에 할 수 있다.

 

일단 map() 함수를 간단히 설명하면 아래와 같다.

map(function, iterable)

 

* parameter 설명

  - function : map이 실행할 함수

  - iterable : map할 요소

 

예시를 들면 아래와 같다.

# 주어진 값 제곱하는 함수
def square(num):
    return num ** 2
  
# list 안의 모든 요소 제곱하기
numbers = [1, 2, 3, 4, 5]

result = map(square, numbers)
print(list(result)) # [1, 4, 9, 16, 25]

list로 예시를 들었지만 tuple 등의 시퀀스객체에 다 적용 가능하다.

 

 

 

map() 함수를 이용하여 한꺼번에 input을 자료형은 아래와 같이 바꿀 수 있다.

# 5개의 정수(n1, n2, n3, n4, n5)의 합 구하기

n1, n2, n3, n4, n5 = map(int, input("다섯 개의 정수를 입력하세요 (ex. 1 2 3 4 5) : ").split())

sum = n1 + n2 + n3 + n4 + n5
print("합 : ", sum)
728x90