Skip to content
Related Articles

Related Articles

Python | Combine two dictionary adding values for common keys
  • Last Updated : 11 Mar, 2019
GeeksforGeeks - Summer Carnival Banner

Given two dictionary, the task is to combine the dictionaries such that we get the added values for common keys in resultant dictionary.

Example:

Input: dict1 = {'a': 12, 'for': 25, 'c': 9}
       dict2 = {'Geeks': 100, 'geek': 200, 'for': 300}

Output: {'for': 325, 'Geeks': 100, 'geek': 200}

Let’s see some of the methods to do the task.

Method #1: Naive method




# Python program to combine two dictionary
# adding values for common keys
# initializing two dictionaries
dict1 = {'a': 12, 'for': 25, 'c': 9}
dict2 = {'Geeks': 100, 'geek': 200, 'for': 300}
  
  
# adding the values with common key
for key in dict2:
    if key in dict1:
        dict2[key] = dict2[key] + dict1[key]
    else:
        pass
          
print(dict2)
Output:



{'for': 325, 'Geeks': 100, 'geek': 200}

 

Method #2: Using collections.Counter()




# Python program to combine two dictionary
# adding values for common keys
from collections import Counter
  
# initializing two dictionaries
dict1 = {'a': 12, 'for': 25, 'c': 9}
dict2 = {'Geeks': 100, 'geek': 200, 'for': 300}
  
  
# adding the values with common key
          
Cdict = Counter(dict1) + Counter(dict2)
print(Cdict)
Output:
Counter({'for': 325, 'geek': 200, 'Geeks': 100, 'a': 12, 'c': 9})

 

Method #3: Using itertools.chain()




# Python program to combine two dictionary
# adding values for common keys
import itertools 
import collections
  
# initializing two dictionaries
dict1 = {'a': 12, 'for': 25, 'c': 9}
dict2 = {'Geeks': 100, 'geek': 200, 'for': 300}
  
# using defaultdict
Cdict = collections.defaultdict(int)
  
# iterating key, val with chain()
for key, val in itertools.chain(dict1.items(), dict2.items()):
    Cdict[key] += val
      
print(dict(Cdict))
Output:
{'for': 325, 'a': 12, 'geek': 200, 'Geeks': 100, 'c': 9}

 

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :