我有一个 python 字典,其中包含字符串键和整数值。我想按值排序,如果两个值相同,则按键对字典进行排序。字典的一个例子。是:{'Spain':3,'Morocco':1,'England':3,'canada':2}排序后应该是:{'England':3,'Spain':3,'canada':2,'Morocco':1}
1 回答
![?](http://img1.sycdn.imooc.com/545863cd0001b72a02200220-100-100.jpg)
狐的传说
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}
添加回答
举报
0/150
提交
取消