如何合并Python中具有相同和不同键值的两个字典?
How To Merge Two Dictionaries With Common and Different Keys in Python?
我正在尝试制作一个函数,它将接受两个词典并将它们合并在一起。当我搜索解决方案时,我可以找到只适用于只有公共键或只有不同键的字典的解决方案,但不是两者的解决方案。
下面是我想要的示例。
输入
x = {"a": 91, "b": 102}
y = {"b": 8, "c": True}
输出
z = {"a": 91, "b": 110, "c": True}
您可以使用 dictionary comprehension
、dict.get
方法和 set union between dict.key objects
:
>>> z = {k: x[k] + y[k]
if (k in x and k in y)
else x.get(k) or y.get(k)
for k in sorted(x.keys() | y.keys())}
>>> z
{'a': 91, 'b': 110, 'c': 1}
我正在尝试制作一个函数,它将接受两个词典并将它们合并在一起。当我搜索解决方案时,我可以找到只适用于只有公共键或只有不同键的字典的解决方案,但不是两者的解决方案。
下面是我想要的示例。
输入
x = {"a": 91, "b": 102}
y = {"b": 8, "c": True}
输出
z = {"a": 91, "b": 110, "c": True}
您可以使用 dictionary comprehension
、dict.get
方法和 set union between dict.key objects
:
>>> z = {k: x[k] + y[k]
if (k in x and k in y)
else x.get(k) or y.get(k)
for k in sorted(x.keys() | y.keys())}
>>> z
{'a': 91, 'b': 110, 'c': 1}