map함수 정의
map함수는 리스트의 원소들에게 각각 함수를 적용시키는 함수입니다.
※map 함수는 리스트 뿐만 아니라 딕셔너리, 튜플 등 반복가능한 개체를 인자로 받을 수 있습니다.
map 함수 용도
- 리스트 원소들에 각각 함수를 적용시켜 리스트를 변형시킬 때 사용합니다.
- map 함수를 이용하면 for문을 이용해 리스트에 함수를 적용할 때 보다 편리합니다.
- 숫자로 이루어진 문자열을 정수형 리스트로 바꿀 때 사용합니다.
map 함수 사용법
map(“함수”,”리스트”)
map 함수 예시
예시1: 리스트에 map함수 적용
list1= [1,2,3,4,5,6]
def add3(n):
return n+3
## list1의 모든 원소에 + 3 적용
list2 = list(map(add3,list1))
print(list2)
실행결과
[4, 5, 6, 7, 8, 9]
map 함수는 map객체로 반환되기 때문에 list 또는 tuple 형태로 변환시켜야 합니다.(예시1 list2 = list(map(add3,list1))
참고 )
예시2: 문자열을 정수형 리스트로 변환
number = "123456"
##number의 모든 원소를 정수형으로 변환
map_number = list(map(int,number))
print(map_number)
실행결과
[1, 2, 3, 4, 5, 6]
예시3: 문자열에 들어있는 숫자 추출
myname="Hello my name is skytin1004"
result=list(map(int, filter(lambda u: u.isdigit(), myname)))
print(result)
##isdigit함수: 문자열이 전부 숫자로만 이루어져있으면 True 리턴
##map함수:두번째 인자로 들어온 myname을 쪼개서 하나하나씩 적용
##filter함수:map에의해 쪼개어진 myname의 각 문자가 숫자인지 판별
실행결과
[1, 0, 0, 4]
참고:
isdigit함수 정리하기
fliter함수 정리하기
예시3 과 같은 방법으로 문자열 안에 들어있는 숫자를 추출할 수 있습니다.