functools.cmp_to_key
Преобразует функцию сравнения старого стиля — cmp, к новому стилю — key.
functools.cmp_to_key(func)
-> callable
func -- Функция сравнения старого стиля (cmp), которую следует привести к новому стилю (key).
Функция призвана облегчить переход от функций сравнения старого стиля к новым ключ-функциям.
Результат
Функция сравнения (cmp) — это любой объект, поддерживающий вызов, принимающий аргументами два стоящих рядом элемента. Вызов такой функции должен вернуть отрицательное число (если первый меньше второго), нуль (если равны) и положительное (если первый больше второго).
Ключ-функция (key) — это любой объект, поддерживающий вызов, принимающий один аргумент и возвращающий значение, которое должно быть использовано в качестве ключа при сортировке.
На заметку
В Python 3 ключ-функции (key) пришли на место функций сравнения (cmp).
Результат
cmp_to_key
может использоваться инструментами, принимающими ключ-функции, например:Функция сравнения (cmp) — это любой объект, поддерживающий вызов, принимающий аргументами два стоящих рядом элемента. Вызов такой функции должен вернуть отрицательное число (если первый меньше второго), нуль (если равны) и положительное (если первый больше второго).
Ключ-функция (key) — это любой объект, поддерживающий вызов, принимающий один аргумент и возвращающий значение, которое должно быть использовано в качестве ключа при сортировке.
from functools import cmp_to_key
def compare(x, y):
return cmp(x, y)
sorted(['A', 'b', 'C', 'a'], key=cmp_to_key(compare)) # ['A', 'C', 'a', 'b']
Синонимы поиска: functools.cmp_to_key, functools, cmp_to_key
На заметку
Зарегистрированные пользователи могут публиковать свои Статьи.