PYTHON
Efficiently Merging Two Dictionaries
Learn how to combine two Python dictionaries into a single one using modern syntax like the `|` operator (Python 3.9+) or the `**` unpacking operator for cleaner code.
# Python 3.9+ for `|` operator
dict1 = {'name': 'Alice', 'age': 30}
dict2 = {'city': 'New York', 'age': 31, 'occupation': 'Engineer'}
# Using `|` operator (Python 3.9+)
merged_dict_union = dict1 | dict2
print(f"Merged with | operator: {merged_dict_union}")
# Using `**` unpacking operator (Python 3.5+)
# Note: Later dictionary's keys will override earlier ones
merged_dict_unpacking = {**dict1, **dict2}
print(f"Merged with ** unpacking: {merged_dict_unpacking}")
# Example of overriding behavior
dict_a = {'a': 1, 'b': 2}
dict_b = {'b': 3, 'c': 4}
merged_override = dict_a | dict_b
print(f"Merged with override: {merged_override}")
How it works: This snippet demonstrates two Pythonic ways to merge dictionaries. The `|` operator (Python 3.9+) creates a new dictionary containing keys and values from both, with values from the right-hand dictionary overriding those from the left if keys conflict. The `**` unpacking operator (Python 3.5+) achieves a similar result by unpacking dictionaries into a new literal dictionary, also with later keys overriding earlier ones. Both are efficient for combining configuration or data.