如何合并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 comprehensiondict.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}