How to sum the nested dictionary values in Python

2 Answers

0 votes
data = {
    "a": {"x": 1, "y": 2},
    "b": {"x": 3, "y": 4}
}

total = sum(
    value
    for inner in data.values()
    for value in inner.values()
)

print(total)



'''
run:

10

'''

 



answered Feb 9 by avibootz
0 votes
def deep_sum(obj):
    if isinstance(obj, dict):
        return sum(deep_sum(v) for v in obj.values())
    elif isinstance(obj, (int, float)):
        return obj
    else:
        return 0



data = {
   'python': 9,
   'c': {
      'c++': 7,
      'c#': {
         'java': 15,
         'rust': 17
      }
   },
   'scala': 16
}


total = deep_sum(data)
print(total)



'''
run:

64

'''

 



answered Feb 9 by avibootz
...