在 Python 3 中,
sort()
有参数 key
和 reverse
。如果您使用的是自定义比较功能,并且它对多个项目(每个对象)进行排序,您如何单独对每个项目进行升序或降序?在我的例子中,项目不是数字,所以否定一个值不是一个选项。
我没有看到任何语法方式来做我想做的事,所以我被困住了。在 Python 2 中,你可以很容易地做到这一点,因为比较函数返回
-1
、0
、+1
。 Python 3 似乎不够灵活。
functools.cmp_to_key()
功能:
将旧式比较函数转换为键函数。与接受键功能的工具一起使用(例如
、sorted()
、min()
、max()
、heapq.nlargest()
、heapq.nsmallest()
)。此函数主要用作从支持使用比较函数的 Python 2 转换的程序的转换工具。itertools.groupby()