Python3的sorted函数具有key参数,可以进行自定义的排序,但并不是直接将自定义比较函数赋给key(这一点和C++是不一样的)。
在python3中,需要import functools
来传递比较函数。
注意,在Python3中,自定义比较函数的返回值必须为[1, -1, 0]
,具体如何使用以下列简单程序为例:
from functools import cmp_to_key
nums = [1, 3, 2, 4]
nums.sort(key=cmp_to_key(lambda a, b: a - b))
print(nums) # [1, 2, 3, 4]