Python 中合并两个字典

2025年3月17日 | 阅读 8 分钟

Python 字典 是一种包含键值对的数据结构。每个键值对将键与其关联值映射。因此,它也被称为 Python 字典的关联数组。字典的所有元素都包含在大括号 {} 中。此外,我们在键值对之间使用冒号(:)符号来分隔每个键与其关联值。字典元素可以按任何顺序排列,并在 Python 程序中动态更改。在本主题中,我们将学习如何使用各种 Python 字典方法来合并两个字典。

Merge two Dictionaries in Python

使用 for 循环合并两个字典

在这里,我们使用一个 For 循环 来迭代第一个字典,同时将条目添加到另一个字典中以合并它们。

让我们考虑一个使用 For 循环合并给定字典的程序。

forDict.py

输出

Before merging the two dictionary
Dictionary No. 1 is :  {'Alexandra': 27, 'Selina Gomez': 22, 'James': 29, 'Peterson': 30}
Dictionary No. 1 is :  {'Jasmine': 19, 'Maria': 26, 'Helena': 30}
After merging of the two Dictionary
{'Alexandra': 27, 'Selina Gomez': 22, 'James': 29, 'Peterson': 30, 'Jasmine': 19, 'Maria': 26, 'Helena': 30}

使用 update() 方法合并两个字典

Python 字典中的 update() 方法用于用第二个字典的内容更新当前字典。使用 update() 方法,我们可以避免创建第三个字典来存储第一个字典元素,然后更新第二个字典元素。

让我们考虑一个在 Python 中合并给定字典而不创建第三个字典的程序。

Update1.py

输出

{'Actress ': 'Jasmine Wiley', 'Cricketer': 'Nicholas Pooran', 'Basketball': 'Washington', 'Football': 'Zindane', 'Tennis ': 'Maria', 'Stadium  ': 'Amsterdam', 'Actress': 'Elizabeth'}

在 Python 中使用函数合并两个字典

让我们考虑一个在 函数中使用 update() 方法在 Python 中合并给定字典的程序。

proFun.py

输出

Merged Dictionaries is :
{'USA': 'New York', 'Germany': 'Jakarta', 'England': 'London', 'India': 'Delhi', 'Russia': 'Russian', 'Australia': 'Sydney'}

当两个字典具有相同的键时,使用 update() 方法合并两个字典

让我们考虑一个在两个字典包含相同键时,使用 update() 方法在 Python 中合并给定字典的程序。

sameDict.py

输出

Merge two dictionaries :
{'Cricketer': 'Nicholas Pooran', 'Basketball': 'Washington', 'Football': 'Zindane', 'Actress': 'Elizabeth', 'Tennis': 'Maria', 'Stadium': 'Amsterdam'}

我们有两个相同的键(Actress 和 Basketball)在两个字典中。当我们执行 update 方法时,第二个字典的最新值会覆盖第一个字典的旧值。当执行 d1 字典时,对于键 ActressBasketball,它会打印 WashingtonElizabeth 值,而不是 Jasmine Wiley 和 Jordan。

使用 Copy() 和 Update() 方法合并两个字典

在此方法中,我们使用 copy() 函数复制第一个字典 (d1) 的所有元素,然后将复制的数据分配给另一个字典 (d3)。之后,我们使用 update() 函数用 d2 字典更新字典 d3

让我们考虑一个在 Python 中使用 copy 和 update() 方法合并给定字典的程序。

CopyUpdate.py

输出

Before Merge
{'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles'}
After Merge of the two Dictionary is :  {'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles', 'Teacher': 'Rosy', 'Subject': 'Computer Science'}

使用 ** 运算符 - 解包运算符合并两个字典

解包运算符用于在单个表达式中组合两个或多个字典,并将它们存储在第三个字典中。

语法

让我们考虑一个在 Python 中使用 ** 运算符合并给定字典的程序。

Unpack.py

输出

Merge two dictionaries {'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles', 'Teacher': 'Rosy', 'Subject': 'Computer Science'}
Merge more than two dictionaries {'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles', 'Teacher': 'Rosy', 'Subject': 'Computer Science', 'Country': 'England', 'State': 'California', 'mob': 3487434}

使用 dict() 构造函数合并两个字典

dict() 构造函数方法在 Python 字典中类似于 copy()update()dict() 构造函数将第一个字典元素复制到新字典中,然后使用 update() 方法用第二个字典的元素更新新字典。

让我们考虑一个在 Python 中使用 dict() 方法合并给定字典的程序。

Dict.py

输出

Before Merge {'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles'}
Merge two dictionaries {'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles', 'Teacher': 'Rosy', 'Subject': 'Computer Science'}

使用 dict() 构造函数和 **kwargs 合并两个字典

这是 dict () 构造函数的快捷方法,它使用 kwargs (**) 运算符借助 dict () 方法将一个字典映射到另一个字典。

语法

让我们考虑一个在 Python 中使用 dict() 构造函数和 **kwargs 运算符合并两个字典的程序。

Kwarg.py

输出

Merge two dictionaries {'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles', 'Teacher': 'Rosy', 'Subject': 'Computer Science'}

使用 Collections - ChainMap 函数合并两个字典

ChainMap 是多个字典的集合,它返回一个单一字典。与 update () 方法相比,它是一种创建新字典并运行多个文件的方法,速度更快。要合并 Python 中的两个字典,我们需要从 collections 导入 ChainMap。在 ChainMap() 函数中,我们将两个字典作为参数传递,它返回 ChainMap 实例,使用 dict() 构造函数来映射字典以合并字典。

让我们考虑一个在 Python 中使用 ChainMap 函数合并两个字典的程序。

Chain_map.py

输出

Merge two dictionaries {'Teacher': 'Rosy', 'Subject': 'Computer Science', 'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles'}

使用 itertools - chain() 方法合并两个字典

它创建一个迭代字典,该字典在第一个可迭代字典完成之前从中返回一个元素。然后,它继续到下一个可迭代对象以在字典中进一步执行。因此,它将连续序列表示为单个序列。

语法

让我们考虑一个在 Python 中使用 chain 函数合并两个字典的程序。

Chain.py

输出

Merge two dictionaries {'Student': 'Butler', 'Course': 'Computer Science', 'Address': 'Los Angeles', 'Teacher': 'Rosy', 'Subject': 'Computer Science'}

使用 merge ( | ) 运算符合并两个字典

它是一个合并 (|) 运算符,用于在 Python 中合并两个字典。Python 3.9 在 dict 类中引入了合并 ( | ) 运算符。

语法

让我们编写一个程序,使用合并运算符 (|) 在 Python 中合并两个字典。

merge.py

输出

{'A': 'Apple', 'B': 'Ball', 'C': 'Cat', 'D': 'Dog', 'E': 'Elephant', 'F': 'Fish'}