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

如何对嵌套字典列表中同键字典的元素求和

解决相同外层键的嵌套字典求和问题

实现思路

先用临时字典统计每个外层键对应嵌套字典的累加值,再将临时字典转换为目标列表格式。

代码实现

# 原列表(注意键需用字符串包裹,否则会触发变量未定义报错)
original_list = [{"a": {"b":1, "c":2}}, {"d": {"b":3, "c":4}}, {"a": {"b":2, "c":3}}]

# 临时字典用于汇总累加结果
temp_dict = {}

for item in original_list:
    # 取出当前子字典的外层键和嵌套字典(题目明确每个子字典仅一个键值对)
    outer_key, inner_dict = next(iter(item.items()))
    if outer_key not in temp_dict:
        # 首次出现该外层键,复制内层字典初始化统计项
        temp_dict[outer_key] = inner_dict.copy()
    else:
        # 已存在该外层键,遍历内层字典累加对应值
        for k, v in inner_dict.items():
            temp_dict[outer_key][k] += v

# 转换为目标列表格式
result = [{k: v} for k, v in temp_dict.items()]
print(result)
# 输出: [{'a': {'b': 3, 'c': 5}}, {'d': {'b': 3, 'c': 4}}]

代码说明

  • next(iter(item.items())):针对每个子字典仅含一个键值对的特性,快速获取外层键与嵌套字典,比遍历更高效。
  • 临时字典temp_dict:集中存储每个外层键的累加结果,避免重复遍历原列表。
  • 列表推导式:将统计完成的临时字典转换成要求的列表结构,每个元素为单键字典。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:40:30