[903] Concatenate (merge) multiple dictionaries in Python

发布时间 2023-10-10 09:15:43作者: McDelfino

To concatenate (merge) multiple dictionaries in Python, you can use various methods depending on your Python version and preferences. Here are some common approaches:

1. Using the update() Method:

You can use the update() method of dictionaries to merge one dictionary into another. Repeat this for each dictionary you want to concatenate:

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict3 = {'d': 5}

result = dict1.copy()  # Create a copy of the first dictionary
result.update(dict2)   # Merge the second dictionary into the result
result.update(dict3)   # Merge the third dictionary into the result

print(result)

Output:

{'a': 1, 'b': 3, 'c': 4, 'd': 5}

2. Using Dictionary Comprehension (Python 3.5 and above):

You can use a dictionary comprehension to merge multiple dictionaries:

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict3 = {'d': 5}

result = {key: value for d in [dict1, dict2, dict3] for key, value in d.items()}

print(result)

Output:

{'a': 1, 'b': 3, 'c': 4, 'd': 5}

3. Using the ** Unpacking Operator (Python 3.5 and above):

You can use the ** operator to merge dictionaries directly:

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict3 = {'d': 5}

result = {**dict1, **dict2, **dict3}

print(result)

Output:

{'a': 1, 'b': 3, 'c': 4, 'd': 5}

These methods allow you to concatenate multiple dictionaries into a single dictionary, handling any overlapping keys as needed. Choose the method that best suits your Python version and coding style.