首页 > 解决方案 > 如何对多维度字典求和?

问题描述

我有以下字典,我怎样才能总结所有 j 与固定 i 在 x[i,j]

x = {}
x[1,1] = 10
x[1,2] = 20
x[2,1] = 10
x[2,2] = 20

标签: pythonpython-3.x

解决方案


如果您只想对二维数组中j给定的所有内容求和,那么您可以创建一个辅助函数,这样就可以对给定的所有内容求和。iarray[i, j]ji

def sum_column(index, data):
    // sum is a built in function - https://devdocs.io/python~3.7/library/functions#sum
    return sum(data[index]) 

但是,如果您想说,获取所有总和的数组,j那么我强烈建议您只对其进行迭代(假设您知道它是一个二维数组),而不是引入任何复杂的依赖项或编写任何花哨的单列。

例如:

def sum_all_columns(data):
    results = []

    for row in data:
        results.append( sum(row) )

    return results

粗略的稍加修改,这些功能也可以更新以支持dict。例如:

def sum_column(key, data):
    return sum( data[key].values() )

推荐阅读