cmp to key
Python 改变了它的排序方法来接受一个关键功能。这些函数接受一个值并返回一个用于对数组进行排序的键。
旧比较函数用于获取两个值,如果第一个参数分别小于,等于或大于第二个参数,则返回 -1,0 或+1。这与新的键功能不兼容。
这就是 functools.cmp_to_key
的用武之地:
>>> import functools
>>> import locale
>>> sorted(["A", "S", "F", "D"], key=functools.cmp_to_key(locale.strcoll))
['A', 'D', 'F', 'S']
从 Python 标准库文档中获取并改编的示例。