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