PYTHON
Efficiently Merge Dictionaries in Python
Learn to merge multiple dictionaries concisely in Python using the `|` operator (Python 3.9+) or `**` operator, useful for combining settings or data in web applications.
# Python 3.9+ for | operator
dict1 = {'name': 'Alice', 'age': 30}
dict2 = {'city': 'New York', 'occupation': 'Engineer'}
dict3 = {'age': 31, 'status': 'single'}
# Using | operator (Python 3.9+)
merged_dict_modern = dict1 | dict2 | dict3
print(f"Merged with |: {merged_dict_modern}")
# Using ** operator (Python 3.5+)
merged_dict_legacy = {**dict1, **dict2, **dict3}
print(f"Merged with **: {merged_dict_legacy}")
# Note: Later dictionaries' values overwrite earlier ones for common keys
dict_a = {'a': 1, 'b': 2}
dict_b = {'b': 3, 'c': 4}
overwritten_dict = dict_a | dict_b
print(f"Overwritten example: {overwritten_dict}")
How it works: This snippet demonstrates two Pythonic ways to merge dictionaries. The `|` operator (Python 3.9+) provides a clean, readable syntax for combining multiple dictionaries. For older Python versions (3.5+), the `**` operator unpacks dictionaries into a new one. Both methods create a new dictionary, and in cases of duplicate keys, the value from the rightmost (or latest) dictionary takes precedence. This is highly useful for combining configuration settings, request parameters, or default values in web applications.