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

如何对嵌套字典按内部指定键('c')的键值进行降序排序

按嵌套字典指定键值降序排序的解决方案

嘿,我来帮你搞定这个排序小问题!先说说你之前代码里的问题:sample.items()返回的每一个item是**(外层键, 嵌套字典)**的元组,你直接写lambda item: item['c']会找不到键,得先拿到元组里的嵌套字典(也就是item[1]),再取它的'c'值才行~

下面是修正后的完整代码:

sample = {'A': {'a':22, 'b':24, 'c':80}, 'B': {'a':12, 'b':13, 'c':55}, 'C': {'a':44, 'b':33, 'c':99} }

newdict = {}
# 修正lambda表达式,先取嵌套字典再拿'c'的值
for key, value in sorted(sample.items(), key=lambda item: item[1]['c'], reverse=True):
    newdict[key] = value

sample = newdict
print(sample)

运行这段代码后,就能得到你想要的结果:

{'C': {'a': 44, 'b': 33, 'c': 99}, 'A': {'a': 22, 'b': 24, 'c': 80}, 'B': {'a': 12, 'b': 13, 'c': 55}}

补充个小知识点:如果你的Python版本是3.7及以上,普通字典会保留插入顺序,所以这个方法完全适用;要是用的是更低版本,可以用collections.OrderedDict来确保排序后的顺序,不过现在大部分场景下普通字典就够用啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 16:54:08