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

Python3中如何按嵌套字典的col属性升序排序?已尝试sorted与OrderedDict

Python3嵌套字典按子元素col字段升序排序实现方案

实现逻辑

对原字典的所有键值对,以子字典的col字段值为排序依据做升序排序,不同Python版本实现方式如下:

Python 3.7+ 版本

Python3.7及以上版本中内置字典默认保留插入顺序,直接用sorted排序后转字典即可:

sorted_d = dict(sorted(d.items(), key=lambda x: x[1]["col"]))

Python 3.6及更早版本

低版本Python的内置字典是无序的,需要导入OrderedDict来保存排序后的顺序:

from collections import OrderedDict
sorted_d = OrderedDict(sorted(d.items(), key=lambda x: x[1]["col"]))

结果验证

可执行以下代码打印排序后的col值确认排序效果:

for k, v in sorted_d.items():
    print(f"索引{k}的col值:{v['col']}")

常见失败原因说明

之前尝试未成功大概率是两个原因:

  • 低版本Python中没有用OrderedDict承接排序结果,内置无序字典会打乱排序后的顺序
  • 排序时key参数设置错误,没有正确取到子字典的col字段作为排序依据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:15:05