sum value of two different dictionaries which is having same key

前端 未结 3 489
既然无缘
既然无缘 2021-01-19 22:04

i am having two dictionaries

first = {\'id\': 1, \'age\': 23}
second = {\'id\': 4, \'out\': 100} 

I want output dictionary as

{\'id\': 5, \         


        
相关标签:
3条回答
  • 2021-01-19 22:46

    You want to use collections.Counter:

    from collections import Counter
    
    first = Counter({'id': 1, 'age': 23})
    second = Counter({'id': 4, 'out': 100})
    
    first_plus_second = first + second
    print first_plus_second
    

    Output:

    Counter({'out': 100, 'age': 23, 'id': 5})
    

    And if you need the result as a true dict, just use dict(first_plus_second):

    >>> print dict(first_plus_second)
    {'age': 23, 'id': 5, 'out': 100}
    
    0 讨论(0)
  • 2021-01-19 22:47

    You can simply update the 'id' key afterwards:

    result = dict(first.items() + second.items())
    result['id'] = first['id'] + second['id']
    
    0 讨论(0)
  • 2021-01-19 22:49

    If you want to add values from the second to the first, you can do it like this:

    first = {'id': 1, 'age': 23}
    second = {'id': 4, 'out': 100}
    
    for k in second:
        if k in first:
            first[k] += second[k]
        else:
            first[k] = second[k]
    print first
    

    The above will output:

    {'age': 23, 'id': 5, 'out': 100}
    
    0 讨论(0)
提交回复
热议问题