functools.cmp_to_key
Преобразует старомодную функцию сравнения двух аргументов в key-функцию для sorted, min, max и подобных.
Сигнатура
functools.cmp_to_key(func)Функция сравнения возвращает отрицательное число, ноль или положительное. Поскольку современный Python принимает только key, cmp_to_key служит мостом для сложной логики сравнения.
from functools import cmp_to_key
def compare(a, b):
return len(a) - len(b) # короче — раньше
words = ['груша', 'ананас', 'мак']
print(sorted(words, key=cmp_to_key(compare)))
# ['мак', 'груша', 'ананас']