map 함수는 리스트의 요소를 지정된 함수로 처리해준다. 여러 개의 데이터를 한 번에 다른 형태로 변화하기 위해 사용된다.
# 실수로 저장된 모든 요소를 정수로 변환
>>> a = [1.2, 2.5, 3.7, 4.6]
>>> a = list(map(int, a))
>>> a
[1, 2, 3, 4]
# 모든 요소에 100을 더해서 반환
>>> a = [1, 2, 3, 4]
>>> def plus100(n):
return n + 100
>>> list(map(plus100, a))
[101, 102, 103, 104]
plus100() 함수는 map() 함수에서 한 번만 쓰고 마는 일회용 함수다. 일회용 함수를 def 문으로 정의해두는 것은 장황하고 번거롭다. 일회용 함수는 람다 식으로 표현하는 것이 좋다.
# 모든 요소에 100을 더해서 반환(람다식)
>>> list(map(lambda n: n + 100, a))
[101, 102, 103, 104]
input().split()을 사용하면 입력값을 변수 여러 개에 저장할 수 있다.
변수1, 변수2 = input().split()
변수1, 변수2 = input().split('기준문자열')
split에 기준문자열이 없다면 공백을 기준으로 입력값을 분리하여 변수에 차례대로 저장한다.
a, b = input().split() # 입력받은 값을 공백을 기준으로 분리
print(a)
print(b)
# 10 20 입력
# 출력값
10
20
하지만 여기에서 10과 20은 숫자가 아니라 문자열이다. input으로 입력받은 값은 무조건 문자열이기 때문이다. map을 통해 입력값을 정수로 변환해보자
a, b = map(int, input().split()) # 입력받은 값을 정수로 변환
본 포스팅은 아래의 사이트를 참고하여 작성되었습니다.
연오의 파이썬 https://python.bakyeono.net/chapter-6.html
코딩도장 https://dojang.io/