为了账号安全,请及时绑定邮箱和手机立即绑定

首先按值排序字典,然后按键排序

首先按值排序字典,然后按键排序

暮色呼如 2023-09-19 14:22:50
我有一个 python 字典,其中包含字符串键和整数值。我想按值排序,如果两个值相同,则按键对字典进行排序。字典的一个例子。是:{'Spain':3,'Morocco':1,'England':3,'canada':2}排序后应该是:{'England':3,'Spain':3,'canada':2,'Morocco':1}
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

您可以尝试下面的方法,该方法按字典项目对字典进行排序。

-item[1]按值降序排序,item[0]按键升序排序。因为排序的结果是元组列表,所以我们需要使用dict()构造函数调用将其转换为字典。


d = {'Spain': 3, 'Morocco': 1, 'England': 3, 'canada': 2}

out = dict(sorted(d.items(), key=lambda item: (-item[1], item[0])))

print(out)

输出:


{'England': 3, 'Spain': 3, 'canada': 2, 'Morocco': 1}


查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信