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

Python中聚合列表内JSON项:按标题描述合并实例信息

数据集聚合解决方案

实现思路

以title和Description的组合作为唯一标识进行分组,将同一组内的instance_id和instance_name分别收集为列表,最终整理成包含instance_info字段的目标结构。

代码实现

# 原始数据集
dataset = [
 {'title' : 'XYZ', 'Description' : 'XYZ Description', 'instance_id' : 'instance A', 'instance_name' : 'name A'},
 {'title' : 'XYZ', 'Description' : 'XYZ Description', 'instance_id' : 'instance B', 'instance_name' : 'name B'},
 {'title' : 'ABC', 'Description' : 'ABC Description', 'instance_id' : 'instance B', 'instance_name' : 'name B'},
 {'title' : 'ABC', 'Description' : 'ABC Description', 'instance_id' : 'instance C', 'instance_name' : 'name C'}
]

# 初始化分组字典,用于暂存聚合数据
grouped_data = {}

for item in dataset:
    # 用(title, Description)元组作为分组唯一键
    group_key = (item['title'], item['Description'])
    if group_key not in grouped_data:
        # 首次遇到该分组时,初始化基础结构
        grouped_data[group_key] = {
            'title': item['title'],
            'Description': item['Description'],
            'instance_info': {
                'instance_id': [],
                'instance_name': []
            }
        }
    # 将当前条目实例信息追加到对应分组列表中
    grouped_data[group_key]['instance_info']['instance_id'].append(item['instance_id'])
    grouped_data[group_key]['instance_info']['instance_name'].append(item['instance_name'])

# 将分组字典的值转换为列表,得到最终结果
aggregated_dataset = list(grouped_data.values())
print(aggregated_dataset)

运行结果

[
 {'title': 'XYZ', 'Description': 'XYZ Description', 'instance_info': {'instance_id': ['instance A', 'instance B'], 'instance_name': ['name A', 'name B']}},
 {'title': 'ABC', 'Description': 'ABC Description', 'instance_info': {'instance_id': ['instance B', 'instance C'], 'instance_name': ['name B', 'name C']}}
]

内容的提问来源于stack exchange,提问作者gözde yıldız

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:45:31