map 함수
map 함수
는 여러 개의 데이터를 한 번에 다른 형태로 변환할 때 사용한다.
map(function, iterable)
- function : 반복 가능한 모든 요소에 대해 호출되는 함수
- iterable : 반복 가능한 자료형(리스트, 튜플 등)
map 함수의 반환 값은 map 객체이기 때문에 해당 자료형을 list나 tuple로 형 변환해야 한다.
동작 방식은 두번째 인자로 들어온 반복 가능한 자료형을 첫번째 인자로 들어온 함수에 하나씩 넣어 수행한다.
map 함수를 사용하지 않을 때와 사용할 때의 소스를 확인해보자.
- for 문 이용
myList = [1, 2, 3, 4, 5]
result = []
for val in myList:
result.append(val + 1)
print(result)
[2, 3, 4, 5, 6]
- map 함수 이용
myList = [1, 2, 3, 4, 5]
def add_one(n):
return n + 1
result = list(map(add_one, myList))
print(result)
[2, 3, 4, 5, 6]
map 함수 예제
map 함수를 활용하면 코드가 간단해지고 유연해진다.
def to_upper_case(s):
return s.upper()
directions = ["north", "east", "south", "west"]
directions_upper = list(map(to_upper_case, directions))
print(directions_upper)
['NORTH', 'EAST', 'SOUTH', 'WEST']
def multiply(x, y):
return x * y
a = [1, 4, 6]
b = [2, 3, 5]
result = list(map(multiply, a, b))
print(result)
[2, 12, 30]
def func_pow(x):
return pow(x, 5)
result = list(map(func_pow, [1, 2, 3, 4, 5]))
print(result)
[1, 32, 243, 1024, 3125]
일반적인 함수뿐만 아니라 람다함수와 함께 사용할 수 있다.
result = list(map(lambda x : x * 2, [5, 4, 3, 2, 1]))
print(result2)
[10, 8, 6, 4, 2]
반응형
'Python' 카테고리의 다른 글
[Python] all(), any() 함수 (147) | 2024.01.23 |
---|---|
[Python] filter() 함수 (148) | 2024.01.22 |
[Python] 입출력 함수 (124) | 2024.01.18 |
[Python] 함수 (125) | 2024.01.17 |
[Python] range() 함수 (120) | 2024.01.16 |
댓글