Python3中排序的cmp函数的替代方法
def cmp_to_key(func):def key(x):return KeyWrapper(func, x)return keyprint(sorted([1,3,None,2], key=cmp_to_key(my_cmp)))我们在key函数中返回一个KeyWrapper对象,这个对象保存了cmp函数和实际要比较的值的引用,然后改写KeyWrapper的__lt__比较函数,使用cmp函数进行大小比较即可。
事实上python3已经为我们想到了这一点,我们只需要用functools.cmp_to_key函数就可以了。
...阅读全文
事实上python3已经为我们想到了这一点,我们只需要用functools.cmp_to_key函数就可以了。
...阅读全文