본문 바로가기
Python

[python] 람다함수, filter()

by 콧등치기국수 2020. 11. 8.

1. 람다함수

: 이름이 없는 함수. 한 줄에 정의해 간단하고 쉽게 사용한 후 없어지는 1회용 함수이다.

단순한 함수를 만들어 다른 함수의 인수로 넘겨줄때 유용하게 사용

 

#1_활용
>>>def mul(x,y):               
       return x*y              # 익숙한 사용자 함수 정의
>>>(lambda x,y:x*y)(3,4)       # 람다함수 이용하여 함수이름 없이 정의
12

#2_활용
>>>sum = lambda x,y: x+y
>>>sum(5,9)
14

#3_활용(람다+조건)
>>>(lambda x,y: x if x>y else y)(2,8)
8

=> 함수(function)의 인수에 함수를 또 다시 지정할때

=> 함수의 return값으로 함수 지정하고 싶을 때 사용

 

 

2. filter() 함수

: 순회가능(literable)한 데이터를 특정조건에 일치하는 값만 추출해낼때 사용하는 함수

True가 반환된 것만 남기고 나머지 요소는 버린다.

# 1_활용
>>> def even(x):
		return x % 2 ==0              # True 또는 False가 반환된다.

>>> list(filter(even,[1,2,3,4,5,6]))  # 함수를 인수로 받는 내장함수 filter()
[2,4,6]

 

 

3. 람다함수, filter()함수 응용한 표현방식

# 람다함수, filter 응용
>>> list(filter(lambda x: x % 2==0, [1,2,3,4,5,6]))
[2,4,6]

 

출처: 코딩강화 파이썬(이규호,2019)

'Python' 카테고리의 다른 글

[python] enumerate함수  (0) 2020.12.04
[python] 달팽이 배열 풀기  (0) 2020.11.22
[python] list comprehension(리스트 내포)  (0) 2020.11.07
[python] for _ in range  (0) 2020.10.31
[python_gui] Alarm 만들기_threading적용  (0) 2020.10.19