파이썬 Map, Filter, Lambda, Sorted 함수

    람다함수


    Lambda 함수는 익명함수다. 한, 두번만 쓰일 함수라면 Lambda 함수로 급하게 만들어서 사용해도 괜찮을 것 같다. Lambda 함수는 함수식을 넣어서 함수를 일회성으로 선언해주는 것이기 때문에, Lambda 함수 바로 뒤에는 변수가 따라와야한다.

    (lambda 변수 : 식)(변수)
    
    b = (lambda x,y,z : x + y + z)(1,2,3)
    >>>>
    b = 6
    
    c = (lambda x : x.strip())(' bbcd ')
    >>>
    c = bbcd

     

    map 함수


    map 함수는 Iterable한 변수에 대해 연속적으로 함수를 실행해주는 함수다. 

    map(함수, iterable)
    
    
    a = [1,2,3,4,5]
    b = list(map(lambda x : x+1, a))
    >>>>
    b = [2,3,4,5,6]

     

     

    Filter 함수


    Filter 함수는 map 함수와 유사하게 쓰인다. Iterable한 변수에 특정 함수식을 만족하는 조건들만 남겨주는 함수다.

    filter(함수, iterable)
    
    a = [1,2,3,4,5]
    b = list(filter(lambda x : x < 5, a))
    >>>>
    b = [1,2,3,4]

     

    sorted 함수


    sorted 함수는 현재 가지고 있는 값을 정렬해주는 함수다. sorted 함수에는 key라는 옵션이 있는데, key에는 기준값을 정할 수 있는 함수를 넣어주면 된다. 함수에 들어가는 인자는 sorted 함수에 들어있다. key에는 아래와 같이 튜플 형식으로 같이 들어있을 때, 그 값의 정렬 기준을 설정해줄 수도 있다.

    a = [[1,2], [2,1], [9,10]]
    b = sorted(a, key = lambda x : (-x[1], x[0]))
    >>>
    b = [[9,10], [1,2], [2,1]]
    
    c = sorted(a, key = lambda x: (-x[1]))
    >>
    c = [[9,10], [1,2], [2,1]]
    
    
    target = ['cat', 'tiger', 'dog', 'snake']
    print(sorted(target, key=lambda x : len(x.strip()))
    >>> 
    'cat', 'dog', 'tiger', 'snake'

    위의 내용은 1번째 인덱스에 있는 값을 기준으로 먼저 내림차순을 정렬해준다. 그 후, 0번째 인덱스에 있는 값을 기준으로 오름차순 정렬을 해준다는 것이다.

    '프로그래밍 언어 > 파이썬' 카테고리의 다른 글

    Hash Key 생성 : Hornor's Method 활용  (0) 2022.04.05
    Python : Deque  (0) 2022.04.04
    Python : Key 이용하기  (0) 2022.04.04
    파이썬 문자열 Concat 시간복잡도  (0) 2022.02.20
    파이썬 소수점 표현하기  (0) 2021.09.23

    댓글

    Designed by JB FACTORY