익명 함수(이름이 없는 함수)로 함수를 간편하게 작성하기 위해 사용되며, 람다식이라고도 부른다.
람다식은 주로 다른 함수의 매개변수(parameter)로 이용된다.
람다식은 lambda 매개변수: 표현식의 구조로 이루어진다.
def plus(x, y):
return x + y
다음과 같은 식을 람다식으로 표현하면,
lambda x, y: x + y
이렇게 표현이 가능하다.
람다식은 다른 함수의 매개변수로 함수가 와야 하는 상황에 주로 이용된다.
함수를 따로 선언하지 않고 람다식을 통해 바로 매개변수로 이용함으로써, 코드를 간결하게 만들 수 있다.
map()함수에서의 이용lst = [1, 2, 3, 4, 5] a = list(map(lambda x: x + 5, lst)) print(a) # 리스트의 모든 값에 각각 5씩 더한 [6, 7, 8, 9, 10] 출력
filter()함수에서의 이용lst = [1, 2, 3, 4, 5] a = list(filter(lambda x: x % 2 == 1, lst)) print(a) # 리스트에서 홀수만 걸러내 [1, 3, 5] 출력
sort()메소드를 이용한 정렬lst = [[3, "a"], [1, "d"], [4, "b"], [2, "c"]] lst.sort(key = lambda x: x[0]) # 2차원 리스트에서 [i][0]의 값들을 기준으로 정렬 print(lst) # [[1, 'd'], [2, 'c'], [3, 'a'], [4, 'b']] 출력 lst.sort(key = lambda x: x[1]) # 2차원 리스트에서 [i][1]의 값들을 기준으로 정렬 print(lst) # [[3, 'a'], [4, 'b'], [2, 'c'], [1, 'd']] 출력