[Python] 리스트, 튜플 각 요소에 함수를 적용한 결과를 반환 - map()

2023. 7. 11. 22:20· Python
  • 파이썬 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
'Python' 카테고리의 다른 글
  • [Python] 파이썬 변수 다중할당
  • [Python] 이터러블(iterable)과 시퀀스(sequence) - 파이썬 공식문서
  • [Python] 리스트 각 str요소를 하나의 문자열로 반환 - join()
  • [Python] 문자열을 분할하고 리스트로 반환 - split()
Hyper_
Hyper_
Hyper_
하이퍼의 아카이브
Hyper_
전체
오늘
어제
  • 분류 전체보기 (37)
    • Python (24)
    • Linux (6)
    • Network (3)
    • AWS (1)
    • Computer Science (1)
    • DB(SQL, NoSQL) (2)

블로그 메뉴

  • 글쓰기
  • 관리자
  • 홈
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hyper_
[Python] 리스트, 튜플 각 요소에 함수를 적용한 결과를 반환 - map()
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.