Python Tutorial (33) – Example: Merging dictionaries

Time: Column:Python views:264

Merge Two Dictionaries in Python

In Python, dictionaries can be merged using various methods. Below are two examples that demonstrate different ways to combine two dictionaries.

Example 1: Using update() Method

The update() method merges two dictionaries, where the second dictionary is updated with the contents of the first.

# Function to merge two dictionaries using update()
def Merge(dict1, dict2): 
    return dict2.update(dict1) 
  
# Define two dictionaries
dict1 = {'a': 10, 'b': 8} 
dict2 = {'d': 6, 'c': 4} 
  
# Print the result of the merge (None is returned since update() modifies in place)
print(Merge(dict1, dict2)) 
  
# After merging, dict2 contains the values from both dictionaries
print(dict2)

Output:

None
{'d': 6, 'c': 4, 'a': 10, 'b': 8}

In this example, dict2 is updated with the key-value pairs from dict1. The update() method does not return a new dictionary, which is why the result of the Merge function is None. The merged dictionary is stored in dict2.

Example 2: Using ** Operator

The ** operator can be used to merge two dictionaries by unpacking the key-value pairs from both into a new dictionary.

# Function to merge two dictionaries using the ** operator
def Merge(dict1, dict2): 
    res = {**dict1, **dict2} 
    return res 
  
# Define two dictionaries
dict1 = {'a': 10, 'b': 8} 
dict2 = {'d': 6, 'c': 4} 
  
# Merge the dictionaries and store the result in dict3
dict3 = Merge(dict1, dict2) 
print(dict3)

Output:

{'a': 10, 'b': 8, 'd': 6, 'c': 4}

In this method, the ** operator unpacks both dictionaries into a new dictionary, combining their contents.

Both methods are useful for merging dictionaries, but the ** operator is more suitable when you want to create a new dictionary, while update() modifies an existing dictionary in place.