[python] 람다(lambda)

이도원·2022년 8월 25일
0

python 문법

목록 보기
6/7

기본


의미

익명함수를 지칭하는 용어 즉, 기존의 함수(명 등)을 선언하고 사용하던 방식과는 달리 바로 정의하여 사용할 수 있는 함수.

형식

lambda 인자 : 표현식
ex) sum = lambda x: x+1

인자 넣기

람다 표현식을 괄호로 묶은 뒤에 다시 괄호를 붙이고 인수를 넣어 호출
ex) (lambda x: x + 10)(1) // #result 11

인자 두 개 쓰기

lambda x,y: x+y

if 사용

ex) check_pass = lambda x: 'pass' if x>=70 else 'fail'
check_pass(1) // 결과값 'fail'

활용

리스트 정렬 sort()

리스트.sort() - 리스트 자체를 정렬
sorted(리스트) - 리스트는 고대로 정렬된 리스트 따로 반환

a = [(1, 2), (5, 1), (0, 1), (5, 2), (3, 0)]
sorted(a, key = lambda x : x[0]) #앞에 인자 기준 정렬(기본 오름차)
sorted(a, key = lambda x : x[1]) #뒤에 인자 기준 정렬
sorted(a, key = lambda x : (x[1], -x[0])) #뒤에 인자 기준 정렬 후 같은 건 앞에 인자 기준 내림차순 정렬 

map()

list(map(함수,리스트)) - 리스트 값들 함수에 대입해서 리스트 반환

list(map(lambda x: x+10, [1,2,3])) # 결과값 : [11, 12, 13]

filter()

조건식의 boolean 값이 True 참인 요소만 반환

list(filter(lambda x : x > 7 and x < 15, a)) # a리스트 7보다크고 15보다 작은값만 반환
profile
studying

0개의 댓글