按第二个值,reverse = True,然后按键,reverse = False,对元组列表进行排序

按第二个值,reverse = True,然后按键,reverse = False,对元组列表进行排序,第1张

按第二个值,reverse = True,然后按键,reverse = False,对元组列表进行排序

以下内容适用于您的输入:

d = [('B', 3), ('A', 2), ('A', 1), ('I', 1), ('J', 1)]sorted(d,key=lambda x:(-x[1],x[0]))

由于您的“值”是数字,因此您可以通过更改符号轻松地反转排序顺序。

换句话说,这种排序按值(

-x[1]
)进行排序(负号先放置大数字),然后对相同的数字按键(
x[0]
)进行排序。

如果不能轻易地“否定”您的价值观以将大项目放在首位,那么一个简单的解决方法是将两次排序:

from operator import itemgetterd.sort(key=itemgetter(0))d.sort(key=itemgetter(1),reverse=True)

之所以有效,是因为python的排序是稳定的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5653949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存