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

如何对如下示例结构的字典数组(arrays of dictionary)执行加法运算

字典数组加法运算实现方案

这里默认你需要的是同结构下对应数值的累加操作,以下以Python为例给出两种最常用场景的实现方法:

场景1:各顶层键独立累加其下所有字典的数值

即每个顶层键(如A、B、C)单独计算内部所有字典的a、b值之和,输出结构和原结构一致。

def sum_per_top_key(data):
    result = {}
    for top_key, dict_list in data.items():
        sum_a = sum(item['a'] for item in dict_list)
        sum_b = sum(item['b'] for item in dict_list)
        result[top_key] = [{'a': sum_a, 'b': sum_b}]
    return result

测试调用示例:如果你的原数据是给出的示例,调用后返回的结果为:

{
  'A': [{'a': 10, 'b': 20}],
  'B': [{'a': 10, 'b': 20}],
  'C': [{'a': 10, 'b': 20}]
}

如果A对应的列表有多个字典比如[{'a':10,'b':20},{'a':5,'b':3}],返回的A对应值就是[{'a':15,'b':23}]。

场景2:所有顶层键的数值全局累加

即把所有顶层键下的所有字典的a、b值全部加总,输出总结果。

def sum_global(data):
    total_a = 0
    total_b = 0
    for dict_list in data.values():
        total_a += sum(item['a'] for item in dict_list)
        total_b += sum(item['b'] for item in dict_list)
    return {'a': total_a, 'b': total_b}

测试调用示例:对给出的示例调用后返回结果为{'a': 30, 'b': 60}。
如果你的累加规则和上述两种不同,可以直接调整遍历逻辑,核心思路都是先按层级遍历到需要累加的数值字段,再执行求和操作即可。

内容的提问来源于stack exchange,提问作者Eng. Shadab NoorAli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:06:04