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 標準庫文件中獲取並改編的示例。