본문 바로가기

IT/[Python]

[Python] 이해하면 편리한 map함수

728x90
반응형

교육들으며 코테를 풀진 않았기 때문에 항상 사용하던 표현방식만 썼었다. (for문..!)

 

근래 들어 재미를 붙여 풀고 있는데 새로 알게 돼 포스팅 해봅니다...

 

 


map함수


 

map(function, iterable)

 

map 함수는 다음과 같습니다.

매개 변수로 함수, 반복가능한 자료형(list, tuple) 를 받습니다.

 

백준 코테를 진행할 때에는 변수를 지정해 받기 때문에 리스트 형태보다는 정수, 문자열을 추출하는 방식으로 이용했습니다.

 

 

 

map 함수를 사용했을 때

 

lst = [1,2,3,4,5]
a = map(lambda x : x**2 , lst)
a

<map at 0x7f0bde3176d0>  # 다음과 같이 출력되므로 리스트나 튜플 형태로 변환

list(a)

[1, 4, 9, 16, 25]

리스트 원소들을 제곱하는 함수를 적용해봤다.

람다 표현식을 함께 활용하면 유용하게 활용할 수 있다.

 

 

map 함수를 사용하지 않았을 때

lst = [1,2,3,4,5]
a = []
for i in lst:
    a.append(i**2)

a

[1, 4, 9, 16, 25]

for문을 작성해야 한다.

 

백준 코테를 풀 때 다음과 같이 편리하게 입력값을 받을 수 있었다.

1 부터 5 , a ~ e 까지 입력받아 보겠습니다.

 n = list(map(int, input().split()))
 print(n)

 s = list(map(str, input().split()))
 print(s)
 
 1 2 3 4 5
[1, 2, 3, 4, 5]
a b c d e
['a', 'b', 'c', 'd', 'e']

사실 input을 이용할 경우 str을 굳이 사용할 필요는 없습니다.

 

숫자를 문자열로 받고 싶은 경우 str 함수를 활용해주면 좋을 것 같습니다.

반응형