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

如何用Python将嵌套字典按值从小到大排序?

解决嵌套字典子字典按值排序的问题

给定嵌套字典:

d = {'A': {'A1': 2, 'A4': 4, 'A5': 1}, 'B': {'B3': 1, 'B7': 8, 'B5': 2}}

要让内部每个子字典按值从小到大排序,你可以用字典推导式结合sorted()方法,指定排序依据为子字典的值:

# 遍历外层字典的每个键值对,对子字典按值升序排序后重构
sorted_d = {key: dict(sorted(sub_dict.items(), key=lambda item: item[1])) for key, sub_dict in d.items()}

执行后sorted_d的结果就是预期输出:

{'A': {'A5': 1, 'A1': 2, 'A4': 4}, 'B': {'B3': 1, 'B5': 2, 'B7': 8}}

关键说明

  • 你之前用的sorted(d.items())是对外层字典的键值对按键排序,没有处理内层子字典,所以达不到需求。
  • sorted(sub_dict.items(), key=lambda item: item[1])会将子字典的键值对按item[1](也就是值)从小到大排序,返回有序的元组列表,再通过dict()转成有序字典(Python 3.7及以上版本的字典默认保留插入顺序)。

内容的提问来源于stack exchange,提问作者who-cares2023

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:54:56