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

Python中如何对list内的每个dictionary按value值排序

Python实现字典列表中每个字典按value排序方案

前置说明

Python 3.7及以上版本默认支持字典保留插入顺序,以下默认基于该版本环境给出方案。如果使用3.7以下版本,需要引入collections.OrderedDict实现有序字典结构。

最简实现(推荐)

使用列表推导式配合sorted方法完成,代码如下:

# 注意不要使用list作为变量名,会覆盖Python内置关键字
original_list = [{1: 0.2, 3: 0.1, 5: 0.8}, {6: 0.8, 9: 0.6, 10: 0.7}]
sorted_list = [dict(sorted(d.items(), key=lambda item: item[1])) for d in original_list]

逻辑说明:

  • 遍历原列表中的每一个字典元素d
  • 调用d.items()取出字典所有键值对元组
  • sorted方法通过key参数指定排序依据为元组的第二个元素(即字典的value值),默认按升序排列,如需降序可添加参数reverse=True
  • 排序完成的键值对元组列表重新转换为字典,最终得到排序后的列表

低版本Python兼容方案

如果使用Python 3.7以下版本,替换为OrderedDict即可:

from collections import OrderedDict
original_list = [{1: 0.2, 3: 0.1, 5: 0.8}, {6: 0.8, 9: 0.6, 10: 0.7}]
sorted_list = [OrderedDict(sorted(d.items(), key=lambda item: item[1])) for d in original_list]

输出验证

打印sorted_list即可得到你需要的结果:
[{3: 0.1, 1: 0.2, 5: 0.8}, {9: 0.6, 10: 0.7, 6: 0.8}]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:27:00