可能重复:
如何为降序值编写 Python 排序键函数
在 Python 3 中,使用多个键按字典顺序对对象列表进行排序非常容易。例如:
items.sort(key = lambda obj: obj.firstname, obj.lastname)
该reverse
参数允许您指定是升序还是降序。但是,如果您想按多个键排序,但您想对第一个键使用降序排序,而对第二个键使用升序排序,您会怎么做?
例如,假设我们有一个具有两个属性的对象,points
并且name
,其中points
是一个int
,并且name
是一个str
。我们希望按降序对这些对象的列表进行排序points
(以便具有最多点数的对象排在第一位),但是对于具有相同数量的对象points
,我们希望name
按字母(升序)顺序对这些对象进行排序。
如何做到这一点?