lambda(익명) 함수
한 줄로 함수를 사용하게 해준다. 주로 함수가 사용할 수 없는 곳에 주로 쓰인다.
형태: 변수 = lamda 매개변수: 표현식(인수)
veterinary_clinic = (lamda a, b: a + b)(cat, dog)
#위와 아래는 같은 코드다
veterinary_clinic = (lamda a, b: a + b)
veterinary_clinic(cat, dog)
map 함수
요소를 하나씩 돌면서 함수에 넣는다.
#형태 : 자료형(map(함수, 자료형(리스트, 튜플)))
#채점을 잘못해서 5점씩 올리기로 했다.
worng_score = [90, 15, 71, 53]
#아래는 잘못된 코드
#map(lambda score: score+5, worng_score)
#리스트를 인자로 넣을 때 map 앞에 리스트나 튜플을 사용해 map의 결과값을 담아야 한다.
#그렇지 않으면, map object at 0x python라는 에러가 발생
new_score = list(map(lambda score: score+5, worng_score))
print(new_score)
reduce 함수
함수를 실행 한 뒤 이전 결과값에 다시 함수를 누적하여 실행한다.
from functools import reduce
#형태 : reduce(함수, 자료형(리스트, 문자열, 튜플))
alphabet = ['a', 'b', 'c', 'd', 'e']
sum = reduce(lambda x, y: x+y, alphabet)
print(sum)
#ab + c
#abc + d 형식으로 누적으로 결과를 반환
filter
결과가 True인 것만 반환한다.
# filter(함수, 자료형(리스트, 튜플))
x = (1, 2, 3, 4, 5, 6, 8)
def func_filter(a):
return a > 5
list = list(filter(func_filter, x))
print(list)'Python' 카테고리의 다른 글
| [Python] 컴프리헨션(Comprehension) (0) | 2023.03.22 |
|---|---|
| [Python] 패킹과 언패킹 (1) | 2023.03.22 |
| [Python] 함수(function) (0) | 2023.03.21 |
| [Python] 반복문 (0) | 2023.03.21 |
| [Python] while문 (0) | 2023.03.21 |