[Python] 커스텀 조건으로 리스트 정렬하기

someng·2023년 1월 26일
0

Python

목록 보기
9/11

python에서 리스트를 정렬할 때, lambda 식을 활용할 수도 있지만,
복잡한 조건으로 정렬해야 하는 경우, 별도의 함수를 사용하는 것이 편리하다.
cmp_to_key 모듈을 활용하여, 커스텀 조건으로 리스트를 정렬하는 방법을 알아보자.

1. 커스텀 조건을 함수로 정의

리턴값은 항상 1,-1,0 이여야 한다.

from functools import cmp_to_key

def comparator(a,b):
    if [정렬기준대로 앞으로 가는 조건]:
        return 1
    elif [정렬기준 반대로 뒤로 가는 조건]:
        return -1
    else [정렬기준에 해당되지 않는 조건]:
        return 0

2. sorted의 key를 cmp_to_key()로 지정

오름/내림차순에 따라 reverse 인수를 지정해주면 된다.

sorted_num = sorted(numbers, key=cmp_to_key(comparator), reverse=True)
profile
👩🏻‍💻 iOS Developer

0개의 댓글