- 파이썬 map() 함수는 iterable객체(리스트, 튜플 등)의 각 요소에 파라미터로 입력한 함수를 적용한 결과를 map객체로 반환하는 함수입니다.
- map객체로 반환한다는 부분이 낯설 수 있으나 아래 예제를 통해서 살펴보겠습니다.
- map()함수는 내부적으로 C언어로 구성되어 있어, 파이썬 반복문보다 간결하고 빠르게 처리할 수 있습니다.
# map객체를 반환
>>> map(int, ['1', '2', '3'])
<map object at 0x0000023D28283460>
#기본 형태
map(function, iterable)
#여러 개의 iterable도 파라미터로 입력 가능
map(function, iterable1, iterable2, ···)
- function 자리에는 내장함수인 int() 함수나, 사용자정의 함수, 람다함수 등 다양한 함수를 파라미터로 입력할 수 있습니다.
- iterable 자리에는 리스트, 문자열, 튜플같은 iterable객체를 파라미터로 입력할 수 있습니다.
- 여러 개의 iterable 객체를 파라미터로 입력할 수 있습니다
- 아래에서 map함수의 실행 결과인 map객체를 살펴보겠습니다
# map객체를 반환 (정수형 자료로 변환하는 int()함수를 파라미터로 입력)
>>> map(int, ['1', '2', '3'])
<map object at 0x0000023D28283460>
- 파이썬 실행창에서 map함수를 실행시켜보면 위와 같이 map객체로 값이 반환되는 모습을 확인할 수 있습니다.
- 그렇기에 list()함수와 함께 사용하거나, 파라미터로 입력한 iterable객체의 요소의 개수만큼 변수에 할당하기도 합니다.
- 아래 예시를 통해서 살펴보겠습니다.
# map객체를 변수에 할당
a,b,c = map(int, ['1', '2', '3'])
>>> a
1
>>> b
2
>>> c
3
# map객체를 리스트로 변환
>>> result = list(map(int, ['1', '2', '3']))
>>> result
[1,2,3]
#여러 개의 iterable객체를 파라미터로 입력
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 10]
result = map(lambda a,b: a+b, list1, list2)
print(list(result))
# 코딩테스트에서 보이는 형태
>>> a, b= map(int, input().split()) (1 2 입력 시)
>>> a
1
>>> b
2
- 위 예시는 코딩테스트에서 주로 확인할 수 있는 map함수의 응용 사례입니다.
- input()함수를 통해 사용자로부터 1 2와 같은 형식의 space bar로 구분된 두 개의 문자자료형 값을 입력받고, split()메소드가 space bar를 구분자로 하여 입력받은 값을 ['1' , '2'] 리스트 형태로 반환합니다. 그 다음 map()함수를 통해 리스트 각 요소에 int()함수를 적용하고, map객체가 반환되어 a, b 각 변수에 할당됩니다.
- 응용 사례 - map객체 또한 iterable 객체이기에 for문에서 응용할 수 있습니다.
#응용 예시(map객체를 for반복문에 응용)
def square(x):
return x ** 2
my_list = [1, 2, 3, 4, 5]
for value in map(square, my_list):
print(value)
1
4
9
16
25 #실행 결과
'Python' 카테고리의 다른 글
[Python] 여러 iterable객체의 각 요소를 묶어 튜플로 반환 - zip() (0) | 2023.07.31 |
---|---|
[Python] 파이썬 변수 다중할당 (0) | 2023.07.16 |
[Python] 이터러블(iterable)과 시퀀스(sequence) - 파이썬 공식문서 (0) | 2023.07.14 |
[Python] 리스트 각 str요소를 하나의 문자열로 반환 - join() (0) | 2023.07.08 |
[Python] 문자열을 분할하고 리스트로 반환 - split() (0) | 2023.07.05 |
- 파이썬 map() 함수는 iterable객체(리스트, 튜플 등)의 각 요소에 파라미터로 입력한 함수를 적용한 결과를 map객체로 반환하는 함수입니다.
- map객체로 반환한다는 부분이 낯설 수 있으나 아래 예제를 통해서 살펴보겠습니다.
- map()함수는 내부적으로 C언어로 구성되어 있어, 파이썬 반복문보다 간결하고 빠르게 처리할 수 있습니다.
# map객체를 반환
>>> map(int, ['1', '2', '3'])
<map object at 0x0000023D28283460>
#기본 형태
map(function, iterable)
#여러 개의 iterable도 파라미터로 입력 가능
map(function, iterable1, iterable2, ···)
- function 자리에는 내장함수인 int() 함수나, 사용자정의 함수, 람다함수 등 다양한 함수를 파라미터로 입력할 수 있습니다.
- iterable 자리에는 리스트, 문자열, 튜플같은 iterable객체를 파라미터로 입력할 수 있습니다.
- 여러 개의 iterable 객체를 파라미터로 입력할 수 있습니다
- 아래에서 map함수의 실행 결과인 map객체를 살펴보겠습니다
# map객체를 반환 (정수형 자료로 변환하는 int()함수를 파라미터로 입력)
>>> map(int, ['1', '2', '3'])
<map object at 0x0000023D28283460>
- 파이썬 실행창에서 map함수를 실행시켜보면 위와 같이 map객체로 값이 반환되는 모습을 확인할 수 있습니다.
- 그렇기에 list()함수와 함께 사용하거나, 파라미터로 입력한 iterable객체의 요소의 개수만큼 변수에 할당하기도 합니다.
- 아래 예시를 통해서 살펴보겠습니다.
# map객체를 변수에 할당
a,b,c = map(int, ['1', '2', '3'])
>>> a
1
>>> b
2
>>> c
3
# map객체를 리스트로 변환
>>> result = list(map(int, ['1', '2', '3']))
>>> result
[1,2,3]
#여러 개의 iterable객체를 파라미터로 입력
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 10]
result = map(lambda a,b: a+b, list1, list2)
print(list(result))
# 코딩테스트에서 보이는 형태
>>> a, b= map(int, input().split()) (1 2 입력 시)
>>> a
1
>>> b
2
- 위 예시는 코딩테스트에서 주로 확인할 수 있는 map함수의 응용 사례입니다.
- input()함수를 통해 사용자로부터 1 2와 같은 형식의 space bar로 구분된 두 개의 문자자료형 값을 입력받고, split()메소드가 space bar를 구분자로 하여 입력받은 값을 ['1' , '2'] 리스트 형태로 반환합니다. 그 다음 map()함수를 통해 리스트 각 요소에 int()함수를 적용하고, map객체가 반환되어 a, b 각 변수에 할당됩니다.
- 응용 사례 - map객체 또한 iterable 객체이기에 for문에서 응용할 수 있습니다.
#응용 예시(map객체를 for반복문에 응용)
def square(x):
return x ** 2
my_list = [1, 2, 3, 4, 5]
for value in map(square, my_list):
print(value)
1
4
9
16
25 #실행 결과
'Python' 카테고리의 다른 글
[Python] 여러 iterable객체의 각 요소를 묶어 튜플로 반환 - zip() (0) | 2023.07.31 |
---|---|
[Python] 파이썬 변수 다중할당 (0) | 2023.07.16 |
[Python] 이터러블(iterable)과 시퀀스(sequence) - 파이썬 공식문서 (0) | 2023.07.14 |
[Python] 리스트 각 str요소를 하나의 문자열로 반환 - join() (0) | 2023.07.08 |
[Python] 문자열을 분할하고 리스트로 반환 - split() (0) | 2023.07.05 |