I want to combine all the dictionaries in the dictionary, ignoring the main dictionary keys and summing up the meaning of other dictionaries by value.
Input:
{'first':{'a': 5}, 'second':{'a': 10}, 'third':{'b': 5, 'c': 1}}
Conclusion:
{'a': 15, 'b': 5, 'c': 1}
I did:
def merge_dicts(large_dictionary):
    result = {}
    for name, dictionary in large_dictionary.items():
        for key, value in dictionary.items():
            if key not in result:
                result[key] = value
            else:
                result[key] += value
    return result
Which works, but I don’t think this is such a good way (or less "pythonic").
By the way, I do not like the title that I wrote. If anyone thinks of a better wording, edit it.
source
share