使用比较功能对多个键进行排序 - 如何仅对一个键进行反转?

问题描述 投票:0回答:1

在 Python 3 中,

sort()
有参数
key
reverse
。如果您使用的是自定义比较功能,并且它对多个项目(每个对象)进行排序,您如何单独对每个项目进行升序或降序?在我的例子中,项目不是数字,所以否定一个值不是一个选项。

我没有看到任何语法方式来做我想做的事,所以我被困住了。在 Python 2 中,你可以很容易地做到这一点,因为比较函数返回

-1
0
+1
。 Python 3 似乎不够灵活。

python-3.x sorting key multiple-columns reverse
1个回答
0
投票

你会使用

functools.cmp_to_key()
功能:

将旧式比较函数转换为键函数。与接受键功能的工具一起使用(例如

sorted()
min()
max()
heapq.nlargest()
heapq.nsmallest()
itertools.groupby()
)。此函数主要用作从支持使用比较函数的 Python 2 转换的程序的转换工具。

© www.soinside.com 2019 - 2024. All rights reserved.