猿问

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

我有一个 python 字典,其中包含字符串键和整数值。我想按值排序,如果两个值相同,则按键对字典进行排序。字典的一个例子。是:

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

排序后应该是:

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


暮色呼如
浏览 79回答 1
1回答

狐的传说

您可以尝试下面的方法,该方法按字典项目对字典进行排序。-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}
随时随地看视频慕课网APP

相关分类

Python
我要回答