Skip to content
Related Articles

Related Articles

Improve Article
Python | Combine two dictionary adding values for common keys
  • Difficulty Level : Medium
  • Last Updated : 11 Mar, 2019

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. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :