컴퓨터지식

[python] lambda function

inthyes 2023. 12. 4. 16:49

1. lambda

형식

lambda 매개변수 : 표현식

예시

(lambda x,y : x+y)(10,20)

1.1 map()

시퀀스(리스트, 튜플 등)의 모든 요소에 함수를 적용한 결과 반환

형식

map 함수 : 리스트

예시
list(map(lambda x: x**2, range(5))) 
[0, 1, 4, 9, 16]

li = [1, 2, 3, 4, 5]
list(map(lambda x: x * 2, li))
[2, 4, 6, 8, 10]

1.2 reduce()

시퀀스(문자열, 리스트, 튜플 등)의 원소들을 누적적으로 함수에 적용

형식

reduce 함수 : 시퀀스

예시
from functools import reduce
reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])
10

li = [1, 2, 3, 4, 5]


reduce(lambda x, y: x * y, li)
120

1.3 filter()

시퀀스(리스트, 튜플 등)의 모든 요소 중에서 조건에 맞는 요소만을 반환

형식

filter 함수 : 리스트

예시
list(filter(lambda x: x < 5, range(10)))
[0, 1, 2, 3, 4]

# 홀수를 출력하는 필터 생성
list(filter(lambda x: x % 2 != 0, range(10)))

1.4 sorted()

시퀀스(리스트, 튜플 등)의 요소를 정렬한 결과 반환

형식

sorted 리스트 : 함수

예시
li = ['apple', 'banana', 'cherry']
sorted(li, key=lambda x: len(x))
['apple','cherry','banana']