람다(lambda)

기능을 매개변술 전달하는 코드를 더 효율적으로 작성

# 일반적인 함수 사용
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)

filter()

<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)))

map()

<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