본문 바로가기
프로그래밍 언어

[Python] map

by 다람이도토리 2022. 1. 20.

* 그동안 무지성으로 코딩테스트 풀 때, 입력 받기 위해 했던 것이 대체 무엇인지 정확히 이해하자.

map이란?

map은 list나 tuple에 적용할 수 있는 함수로 map(함수, 개체) 형태로 정해, 개체의 각 원소에 동시에 특정 함수를 적용하게 된다.

a = [1, 2, 3, 4, 5]

a1 = list(map(lambda x : x * 2, a))

a2 = []
for i in range(len(a)):
	a2.append(a[i] * 2)

사실 이것은 동일한 작업을 해 주는데, 위에처럼 깔끔하게 작성할 수가 있다.

list(map(int, input().split()))의 정체는?

이는 input().split()에 int를 적용하겠다 라는 뜻이다.

# 입력으로 10, 20, 30 , 40, 50

a = input().split(" ")
# 이러면 공백을 기준으로, split 시킨다.
# 출력은 ["10", "20", "30", "40", "50"]

# 우리는 이것을, 각 원소를 숫자형태로 받아 리스트에 넣고 싶다.
# int(a) 는 a를 int형 자료로 바꿔주는 함수이므로 다음과 같이 쓰면 된다.
result = list(map(int, input().split(" "))

이제 왜 리스트를 받아오는 입력을 왜 이렇게 하냐를 알 수 있다.