Python lambda

Jene Hojin Choi·2021년 10월 15일
0

Python

목록 보기
6/6
post-thumbnail

lambda란?

>>> lambda x: x+1

람다 함수는 다음과 같은 신택스를 가진다: lambda 인자: 표현식

예를 들어, 아래의 함수는 인자 x를 받으면 x+1을 리턴한다.

>>> (lambda x: x + 1)(2)
3

람다 함수도 함수이기 때문에 함수명을 정할 수 있다. 예를 들어, 아래의 예제에서 람다 함수를 add_two라 명할 수 있다.

>>> add_two = lambda x: x + 2
>>> add_two(2)
4

여러 인자 받기

람다 함수는 한가지 인자 뿐만이 아니고 여러 개의 인자를 받을 수 있다.

>>> (lambda x, y, z: x + y + z)(1, 2, 3)
6

map()

map(함수, 리스트)

리스트로부터 원소를 한개씩 꺼내서, 함수에 적용 시켜준 후, 그 결과 값들을 담은 새 리스트를 리턴해주는 함수이다.

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

filter()

filter(함수, 리스트)

리스트에 들어있는 원소들을 함수에 적용시켜서 결과가 참인 값들로 새로운 리스트를 만들어준다.

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

>>> filter(lambda x: x % 2, range(10))     
[1, 3, 5, 7, 9]  

# x % 2 == 0 이면 False로 취급되므로 짝수들은 제외됨
# x % 2 == 1 인 경우만 True이므로 홀수만 새 리스트에 포함됨

0개의 댓글