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

Python多组同key嵌套字典合并为单一字典的通用实现咨询

通用实现代码

from collections import defaultdict

merged = defaultdict(dict)
# 遍历所有main层级节点的内容
for main_val in req.values():
    for sub_key, sub_val in main_val.items():
        merged[sub_key].update(sub_val)
# 转换为cableN格式的最终结果
result = {f"cable{i+1}": content for i, content in enumerate(merged.values())}

print(result)

实现说明

  • 完全对齐你原有硬编码逻辑的输出结果,子键重复时后出现的main节点配置会覆盖之前的配置
  • 自动适配任意数量的main层级节点,新增main3、main4等无需修改代码
  • 自动适配每个main下的子键数量,新增z等子键时会自动生成对应cable3、cable4等输出键

如果不想引入额外依赖,也可以用原生字典实现:

merged = {}
for main_val in req.values():
    for sub_key, sub_val in main_val.items():
        if sub_key not in merged:
            merged[sub_key] = {}
        merged[sub_key].update(sub_val)
result = {f"cable{i+1}": content for i, content in enumerate(merged.values())}

针对你给出的3个main的测试输入,上述代码输出结果为:

{'cable1': {'a': 220, 'c': '1000', 'd': 'cooper', 'e': 20}, 'cable2': {'b': 66, 'c': '1200', 'd': 'Copper', 'f': 6}}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:42:03