본문 바로가기
성장하기/Python

cmp_to_key

by 솔로 슈퍼스타 2023. 6. 14.
728x90

cmp_to_key는 파이썬의 functools 모듈에 있는 함수로, 비교 함수를 키 함수로 변환하는 데 사용됩니다. cmp_to_key 함수를 사용하면 이전에 사용되던 cmp 함수를 쉽게 키 함수로 변환할 수 있습니다.

cmp_to_key 함수는 다음과 같은 형태로 사용됩니다:

from functools import cmp_to_key

def compare_func(a, b):
    # 비교 로직 작성
    # a와 b를 비교하여 -1, 0, 1 중 하나를 반환

key_func = cmp_to_key(compare_func)

compare_func는 비교 로직을 작성한 함수로, 두 개의 인자 a와 b를 받아 비교하여 -1, 0, 1 중 하나를 반환해야 합니다. 반환 값이 음수인 경우 a가 b보다 작은 것으로 간주되며, 반환 값이 0인 경우 a와 b가 같은 것으로 간주되며, 반환 값이 양수인 경우 a가 b보다 큰 것으로 간주됩니다.

cmp_to_key 함수는 compare_func를 키 함수로 변환하여 반환합니다. 이렇게 변환된 키 함수는 정렬 알고리즘에서 사용될 수 있습니다. 예를 들어, sorted() 함수 또는 list.sort() 메서드에서 키 함수로 활용할 수 있습니다.

cmp_to_key 함수를 사용하면 이전에 cmp 함수를 사용하여 정렬하던 코드를 키 함수로 변환하여 사용할 수 있으며, 파이썬 3 이상에서는 cmp 함수가 제거되었기 때문에 이를 대체하는 방법으로 활용될 수 있습니다.

'성장하기 > Python' 카테고리의 다른 글

소수찾기와 에라토스테네스의 체  (0) 2023.06.15
cycle  (0) 2023.06.15
PriorityQueue  (0) 2023.06.14
heapq  (0) 2023.06.14
filter  (0) 2023.06.14