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

如何对Python字典内的嵌套列表按{#UPTME}字段排序?

正确按#UPTME字段排序嵌套列表的实现方法

你的错误根源很明确:你调用sort()方法的对象是外层的data字典,而字典本身没有sort()方法,你需要操作的是data["data"]对应的嵌套列表。

下面是两种可行的实现方式:

1. 原地修改列表(直接排序原列表)

使用列表的sort()方法,通过key参数指定按#UPTME字段排序:

# 示例数据结构
data = {
    "data": [
        {"#UPTME": 1620000000, "content": "示例1"},
        {"#UPTME": 1610000000, "content": "示例2"},
        {"#UPTME": 1630000000, "content": "示例3"}
    ]
}

# 升序排序(默认规则)
data["data"].sort(key=lambda item: item["#UPTME"])

# 如果需要降序排序,添加reverse=True参数
data["data"].sort(key=lambda item: item["#UPTME"], reverse=True)

2. 返回新排序后的列表(不修改原列表)

使用内置函数sorted(),它会返回一个新的排序后的列表,原列表保持不变:

# 升序获取新列表
sorted_data_list = sorted(data["data"], key=lambda item: item["#UPTME"])

# 降序获取新列表
sorted_data_list = sorted(data["data"], key=lambda item: item["#UPTME"], reverse=True)

# 可选:将新列表赋值回data["data"]
data["data"] = sorted_data_list

额外注意事项

如果嵌套列表中存在没有#UPTME字段的字典,可以用get()方法设置默认值,避免KeyError:

# 没有#UPTME字段的项会用0作为默认值参与排序
data["data"].sort(key=lambda item: item.get("#UPTME", 0))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:25:21