问题描述:
先举个简单的例子:
nums = [4, 3, 2, 1]
sorted(nums,cmp=lambda a, b: a - b)
之后再python3下报错了:
提示找不到cmp参数。
原因分析:
在官方文档中可以发现,在python2中的sort()函数:
sort(cmp=None, key=None, reverse=False)
python3中的sort()函数:
sort(*, key=None, reverse=None)
少了cmp参数。
解决方法:
用functools.cmp_to_key()
来曲线救国,修改之后的代码:
from functools import cmp_to_keynums = [4, 3, 2, 1]
sorted(nums,key=cmp_to_key(lambda a, b: a - b))