python3中sorted函数里关于cmp这一参数的改变

今天在刷leetcode的时候,对于179题返回最大数,用python2中的sorted(cmp)会很方便,但是在python3中这一参数被取消了,经过查找,发现应该借助functools中的cmp_to_key函数,直接贴代码

import functools
def cmp(a,b):
    if a > b :
        return -1
    elif a < b :
        return 1
    else:
        return 0
        
nums = [1,2,3,4,5,6]
sorted_nums = sorted(nums, key = functools.cmp_to_key(cmp))

Out[30]: [6,5,4, 3, 2, 1]

但注意需要转换的cmp函数的返回值必须是0, 1, -1

猜你喜欢

转载自www.cnblogs.com/ZAmateur/p/12467002.html