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

Python嵌套字典列表按顶级键分组合并 实现扁平化归并

实现方案

你可以通过遍历字典列表+键判断合并的方式完成需求,以下是两种可直接运行的Python实现:

基础实现(无需引入第三方依赖)

该写法逻辑清晰易读,不需要导入任何内置模块:

# 输入的原始字典列表
input_list = [
    {'personal_information': {'merchant_id': '5334'}},
    {'profile': {'mid': '767327'}},
    {'personal_information': {'mobile': '7654362'}},
    {'profile': {'business_name': 'ABG'}}
]

result = {}
for item in input_list:
    # 提取当前字典的唯一顶级键和对应的内层字典
    top_key, inner_dict = next(iter(item.items()))
    if top_key in result:
        # 已存在该顶级键则合并内层字典
        result[top_key].update(inner_dict)
    else:
        # 不存在则初始化存入
        result[top_key] = inner_dict.copy()

print(result)

运行后输出的结果和你要求的完全一致。

简洁版实现(借助collections.defaultdict)

如果可以引入内置模块,代码可以更精简:

from collections import defaultdict

input_list = [
    {'personal_information': {'merchant_id': '5334'}},
    {'profile': {'mid': '767327'}},
    {'personal_information': {'mobile': '7654362'}},
    {'profile': {'business_name': 'ABG'}}
]

result = defaultdict(dict)
for item in input_list:
    top_key, inner_dict = next(iter(item.items()))
    result[top_key].update(inner_dict)

# 可选:将defaultdict转为普通字典
result = dict(result)
print(result)

注意说明

如果同一个顶级键下的内层字典存在重复的key,后续出现的key值会自动覆盖之前的取值,这是Python字典update方法的默认行为,符合绝大多数合并场景的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:39:03