You need to enable JavaScript to run this app. Python按嵌套字典值及嵌套长度排序输出的实现方法
优惠活动
大模型
产品
解决方案
定价
更多

Python按嵌套字典值及嵌套长度排序输出的实现方法

嵌套字典多规则排序输出实现

待处理数据结构

定义的嵌套字典Mydict结构如下,外层键为颜色标识,值为嵌套字典,内层键为人名,对应数值为关联统计值:

Mydict = {
'Red': {'Pesho': 1250000, 'Chicho': 101},
'Blue': {'Pesho': 10000, 'Gosho': 10000, 'Jecho': 260000},
'White': {'Bobo': 10, 'Bebo': 10, 'Bibo': 100, 'Bubo': 10}
}

实现需求

  • 排序规则:优先按照条目关联的统计值大小降序排列,同数值场景下结合所属外层嵌套字典的长度匹配输出顺序
  • 输出格式严格匹配给定示例,最终输出效果如下:
(Red) Pesho <-> 1250000
(Blue) Jecho <-> 260000
(Blue) Pesho <-> 10000
(Blue) Gosho <-> 10000
(Red) Chicho <-> 101
(White) Bibo <-> 100
(White) Bobo <-> 10
(White) Bebo <-> 10
(White) Bubo <-> 10

实现代码

梳理完成的可运行代码参考社区成熟交流方案实现,逻辑清晰可直接复用:

# 按嵌套字典的子项数量调整外层字典的顺序
sorted_Mydict = dict(sorted(Mydict.items(), key=lambda x: -len(x[1].values())))
# 生成包含颜色、人名、关联数值的三元组列表
pairs = [(color, name, power) for color, inner in sorted_Mydict.items() for name, power in inner.items()]
# 按关联数值降序排序后,按要求格式打印结果
[print(f"({color}) {name} <-> {power}") for color, name, power in sorted(pairs, key=lambda x: -x[2])]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 11:15:04