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

如何按嵌套字典内层集合值的总和对顶层字典进行排序

嵌套字典按内层集合总和排序实现方法

你可以直接通过提取内层字典的集合值计算总和作为排序key,实现方式如下:
你的字典结构特征为每个顶层键对应的子字典有且仅有1个键值对,值为待计算总和的集合,基于该特征可直接用如下代码实现:

实现代码

# 示例字典
dic = {"first_a" : { "first_b" : {10, 2} } , "second_a" : {"second_b" : {13, 15} } }

# 升序排序,返回排序后的键值对列表
sorted_items = sorted(dic.items(), key=lambda item: sum(next(iter(item[1].values()))))

# Python3.7及以上版本可直接转为排序后的有序字典
sorted_dict = dict(sorted_items)

# 如需降序排序,添加reverse=True参数即可
sorted_dict_desc = dict(sorted(dic.items(), key=lambda item: sum(next(iter(item[1].values()))), reverse=True))

逻辑说明

lambda表达式的排序key计算逻辑:

  • item是dic.items()遍历得到的元组,item[0]为顶层键(如first_a),item[1]为顶层键对应的内层字典
  • iter(item[1].values())获取内层字典所有值的迭代器,next()直接取第一个值,即待计算的集合
  • sum()计算该集合的元素总和,作为排序的依据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:27:00