You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现字典先按值降序、值同按键升序排序

Python 字典排序:按值降序、值相同按键升序

需求说明

需要对字典的键值对进行排序,遵循以下规则:

  • 优先按值进行降序排序
  • 当值相同时,按键进行升序排序

实现代码

使用Python内置的sorted()函数,通过自定义key参数实现规则:

# 示例输入字典
word_scores = {
    'lorem': 0.07,
    'ipsum': 0.07,
    'typesett': 0.06,
    'type': 0.06,
    'dummy': 0.06
}

# 执行排序
sorted_result = sorted(word_scores.items(), key=lambda item: (-item[1], item[0]))

print(sorted_result)
# 输出符合要求的结果:
# [('ipsum', 0.07), ('lorem', 0.07), ('dummy', 0.06), ('type', 0.06), ('typesett', 0.06)]

原理说明

  • sorted()默认按升序排序,通过对值取负数(-item[1]),可以将原本的降序需求转换为升序排序逻辑,值越大的键值对会排在越前面
  • 当值相同时(即-item[1]相等),sorted()会使用元组的第二个元素item[0](键本身)进行排序,默认的升序规则正好满足键的从小到大排列要求

内容的提问来源于stack exchange,提问作者user18239509

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:05:27