sum list of dictionary values

后端 未结 7 2251
情深已故
情深已故 2020-12-20 21:23

I have a list of dictionary in this form :

[
{\'signal_8\': 1, \'signal_1\': 7, \'signal_10\': 5, \'signal_5\': 2, \'signal_2\': 5, \'signal_6\': 3, \'signa         


        
7条回答
  •  暖寄归人
    2020-12-20 22:05

    Similar to daveruinseverything's answer, I'd solve this with a Counter, but make use of its update method.

    Let signals be your list of dicts.

    >>> from collections import Counter
    >>> c = Counter()
    >>> for d in signals:
    ...     c.update(d)
    ... 
    >>> c
    Counter({'signal_4': 27, 'signal_7': 24, 'signal_1': 21, 'signal_3': 18, 'signal_10': 15, 'signal_2': 15, 'signal_9': 12, 'signal_6': 9, 'signal_5': 6, 'signal_8': 3})
    

    For Op's sake, can you briefly describe what's happening here?

    A Counter works similar to a dict, but its update method adds values to the values of pre-existing keys instead of overriding them.

提交回复
热议问题