1. 람다식
람다는 함수를 간단하게 작성할 수 있도록 해준다.
기본 모양은 이렇다.
lambda 매개변수 : 표현식
print((lambda x, y : x + y)(10, 20))
# 30
2. map()
map(함수, 리스트)의 형태로 사용한다.
리스트로부터 원소를 꺼내서 앞의 함수를 적용한 후 list를 만들어낸다.
list = map(lambda x : x + 5, [1, 2, 3])
for i in list:
print(i, end = ' ')
# 6 7 8
print(list(map(lambda x : x + 5, [1, 2, 3])))
# [6, 7, 8]
list(map(~~~))처럼 list로 감싸줘야 list가 되나보다. 안감싸니깐 <map object at 0x000001842EE7A500> 요런식으로 나온다.
3. reduce()
reduce(함수, 시퀀스)의 형태로 사용한다.
시퀀스의 원소를 누적하며 함수를 적용한다.
from functools import reduce
print(reduce(lambda x, y : y + x, [0, 1, 2, 3, 4]))
# x = 0, y = 1 >> x = 1, y = 2 >> x = 3, y = 3 >> x = 6, y = 4 >> 10
print(reduce(lambda x, y : y + x, 'abcde'))
# x = a, y = b >> y + x = ba >> y + x = cba ... edcba
4. filter()
filter(함수, 리스트)의 형태로 사용한다.
리스트의 원소를 함수에 대입하여 참인 경우만 반환한다.
print(list(filter(lambda x : x < 5, range(10))))\
# [0, 1, 2, 3, 4]
'파슬리(Python)' 카테고리의 다른 글
[Python] [3] 텍스트 파일(끝말잇기 게임) (3) | 2023.12.29 |
---|