본문 바로가기
코딩 연습/파이썬 기초(예제)

파이썬 내부함수, 람다함수, 맵함수, 필터함수

by good4me 2022. 10. 26.

goodthings4me.tistory.com

파이썬 내부(Nested)함수, 람다(lambda)함수, 맵(Map)함수, 필터(Filter)함수에 대해 알아본다.

 

 

파이썬 함수(nested, lambda, map, filter)

 

내부 함수(Nested Function)

def func1():
    def func2(a, b):
        return a * b
    return func2

print(func1())  
# .func2 at 0x00000218C805E4C0>
print(func1()(2, 3))  # 6


def func1(x, y):
    def func2(a, b):
        return a * b
    return func2(x, y)

print(func1(2, 3))  # 6

 

람다(lambda) 함수

def add(a, b):
    return a * b

print(add(2, 3))  # 6

add = lambda a, b: a * b
print(add(3, 4))  # 12

 

맵(Map) 함수

lst = [1, 2, 3, 4]
lst2 = map(str, lst)
print(lst2)  # 
print(list(lst2))  # ['1', '2', '3', '4']
# print(tuple(lst2))  # ('1', '2', '3', '4')

lst3 = list(map(lambda n: n ** 2, lst))  # lambda 함수와 같이 사용
print(lst3)  # [1, 4, 9, 16]

lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst4 = list(map(lambda x, y: x * y, lst1, lst2))
print(lst4)  # [4, 10, 18]
  • 매개변수로 함수와 리스트 등 iterable 데이터를 받아 그 데이터를 리스트로 반환해주는 함수

 

필터(Filter) 함수

lst = [1, 2, 3, 4, 5, 6, 7, 8]
print(list(filter(lambda n: n % 2 == 0, lst)))  # [2, 4, 6, 8]
print(tuple(filter(lambda n: n % 2 == 1, lst)))  # (1, 3, 5, 7)

 

good4me.co.kr

 

 

댓글