Merge Dictionaries without Overwriting in Python
Last Updated :
19 Feb, 2024
Merging dictionaries in Python is a common operation. In this article, we will see how we can append two dictionaries so that they don’t overwrite each other in Python.
Append two dictionaries so they don’t Overwrite Each Other
Below are some of the ways by which we can append two dictionaries in Python:
- Using the
update()
Method
- Using the
**
Unpacking Operator
- Using the
collections.ChainMap
Class
- Using the
dict()
Constructor and Unpacking
Append Two Dictionaries Using the update()
Method
In this example, two dictionaries, `dict1` and `dict2`, are provided. The update() method is employed to merge the contents of `dict2` into a copy of `dict1`, resulting in `merged_dict`. If there are overlapping keys, values from `dict2` will overwrite corresponding values from `dict1`, and the final merged dictionary is printed.
Python3
dict1 = { 'a' : 1 , 'b' : 2 }
dict2 = { 'b' : 3 , 'c' : 4 }
merged_dict = dict1.copy()
merged_dict.update(dict2)
print (merged_dict)
|
Output
{'a': 1, 'b': 3, 'c': 4}
Append Two Dictionaries Using the **
Unpacking Operator
In this example, two dictionaries, dict1
and dict2
, are provided. The ** unpacking operator is utilized to merge their contents into a new dictionary named merged_dict
. This concise approach combines the key-value pairs from both dictionaries, and if there are overlapping keys, the values from dict2
will overwrite the values from dict1
. The final merged dictionary is then printed.
Python3
dict1 = { 'a' : 1 , 'b' : 2 }
dict2 = { 'b' : 3 , 'c' : 4 }
merged_dict = { * * dict1, * * dict2}
print (merged_dict)
|
Output
{'a': 1, 'b': 3, 'c': 4}
Append Two Dictionaries Using the collections.ChainMap
Class
In this example, the collections
module’s ChainMap
is utilized to merge two dictionaries, dict1
and dict2
. The ChainMap
class efficiently combines the dictionaries, creating a view that allows access to the keys and values from both dictionaries as if they were a single dictionary. The resulting merged_dict
is then converted into a regular dictionary using dict()
, and the combined key-value pairs are printed.
Python3
from collections import ChainMap
dict1 = { 'a' : 1 , 'e' : 2 }
dict2 = { 'b' : 3 , 'c' : 4 }
merged_dict = dict (ChainMap(dict1, dict2))
print (merged_dict)
|
Output
{'b': 3, 'c': 4, 'a': 1, 'e': 2}
Append Two Dictionaries Using the dict()
Constructor and Unpacking
In this example, the dict()
constructor and the ** unpacking operator are employed to merge two dictionaries, dict1
and dict2
. The resulting merged_dict
contains the combined key-value pairs from both dictionaries. If there are overlapping keys, the values from dict2
will overwrite the values from dict1
.
Python3
dict1 = { 'a' : 1 , 'b' : 2 }
dict2 = { 'b' : 3 , 'c' : 4 }
merged_dict = dict (dict1, * * dict2)
print (merged_dict)
|
Output
{'a': 1, 'b': 3, 'c': 4}
Share your thoughts in the comments
Please Login to comment...