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

如何在Python中按字典值对包含字典的列表排序?

按字典中指定键的值对列表排序

要对包含多个字典的列表按某个字典键的值排序,Python提供了两种简单的实现方式:

方法一:使用sorted()函数(返回新列表)

sorted()函数会生成一个排序后的新列表,原列表保持不变,适合需要保留原数据的场景:

lst = [
    {"a": 3, "b": 2},
    {"a": 1, "b": 4},
    {"a": 2, "b": 3}
]

# 按键"a"的值升序排序
sorted_lst = sorted(lst, key=lambda x: x["a"])
print(sorted_lst)
# 输出:[{"a": 1, "b": 4}, {"a": 2, "b": 3}, {"a": 3, "b": 2}]

方法二:使用列表的.sort()方法(修改原列表)

.sort()方法会直接在原列表上进行排序,不需要额外内存存储新列表,适合对内存占用有要求的场景:

lst = [
    {"a": 3, "b": 2},
    {"a": 1, "b": 4},
    {"a": 2, "b": 3}
]

# 直接在原列表上按键"a"的值升序排序
lst.sort(key=lambda x: x["a"])
print(lst)
# 输出:[{"a": 1, "b": 4}, {"a": 2, "b": 3}, {"a": 3, "b": 2}]

降序排序

如果需要按键值降序排列,只需添加reverse=True参数即可:

# 使用sorted()降序
sorted_lst_desc = sorted(lst, key=lambda x: x["a"], reverse=True)

# 使用.sort()降序
lst.sort(key=lambda x: x["a"], reverse=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:30:43