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

Python如何将字典列表按id字段分组拆分生成对应子列表

实现方案

注意事项

  • 不要将变量命名为dict,这是Python内置关键字,会覆盖原有类型导致后续语法报错
  • 你给出的示例字典数据缺少字符串引号,实际运行时需要补全语法。

代码实现

方法1:使用collections.defaultdict(推荐,写法更简洁)

from collections import defaultdict

# 补全语法后的原始数据
original_list = [
    {"name": "aa", "age": 12, "id": 121},
    {"name": "bb", "age": 13, "id": 122},
    {"name": "cc", "age": 11, "id": 121},
    {"name": "dd", "age": 15, "id": 122}
]

result = defaultdict(list)
for item in original_list:
    group_id = item.pop("id")
    result[group_id].append(item)

# 输出验证
for group_id, group_data in result.items():
    print(f"{group_id} = {group_data}")

方法2:使用普通字典实现(无需导入依赖)

original_list = [
    {"name": "aa", "age": 12, "id": 121},
    {"name": "bb", "age": 13, "id": 122},
    {"name": "cc", "age": 11, "id": 121},
    {"name": "dd", "age": 15, "id": 122}
]

result = {}
for item in original_list:
    group_id = item.pop("id")
    if group_id not in result:
        result[group_id] = []
    result[group_id].append(item)

结果说明

运行后result是一个字典,键为id的取值(121、122),值就是你需要的去掉id字段的分组列表,直接通过result[121]、result[122]即可获取对应分组数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:24:02