기능을 매개변술 전달하는 코드를 더 효율적으로 작성
# 일반적인 함수 사용
def call_10_times(func) :
for i in range(10) :
print(func)
call_10_times("500")
# 람다
def call_10_times(func) :
for i in range(10) :
func() # print_hello()
def print_hello() :
print("Hi")
# 매개변수가 함수인 함수를 호출
call_10_times(print_hello)
<aside> 💡 filter(함수, 리스트)
</aside>
def under_3(item) :
return item < 3
list_input = [1, 2, 3, 4, 5]
# filter 함수 사용 사례
print(list(filter(under_3, list_input)))
<aside> 💡 map(함수, 리스트)
</aside>
함수에 리스트 요소를 대입시킨 뒤 나온 결과 값을 리스트로 만들어주는 함수
def power(item) :
return item * item
list_input = [1, 2, 3, 4, 5]
print(list(map(power, list_input)))
<aside> 💡 lambda 매개변수: 리턴값 매개변수는 함수, 리턴값은 리스트
</aside>
# 실제 람다 사용(인라인 함수)
list_input_a = [1, 2, 3, 4, 5]
# map
output_a = map(lambda x: x * x, list_input_a)
print("map() 실행 결과")
print(output_a)
print(list(output_a))
print()
# filter
output_b = filter(lambda x: x < 3, list_input_a)
print("filter() 실행 결과")
print( output_b)
print(list(output_b))
lambda x, y: x * y