python - 为每个键合并 2 个具有更高值的字典

标签 python

我有

dict1 = {a: 1, b: 2, c: 3}
dict2 = {b: 3, c: 2}

我如何合并 dict1 和 dict2 以便结果 dict3 将具有 {a: 1, b: 3, c: 3} 我知道我们可以像这样合并 dict3 = {**a, **b},但是是否有任何我必须写的条件才能解决我的问题?

最佳答案

给你:

dict1 = {"a": 1, "b": 2, "c": 3}
dict2 = {"b": 3, "c": 2}

result = {}
for k in dict1.keys() | dict2.keys():
    result[k] = max(dict1.get(k, float('-inf')), dict2.get(k,float('-inf')))

print(result)

我正在使用默认值:dict1.get(k, DEFAULT) 并使用按位 OR 运算符 | 连接两个键集。

注意 float('-inf') 的默认值表示

dict1 = {"a": -1, "b": 2, "c": 3}
dict2 = {"b": -5, "c": 2}```

变成{'a': -1, 'b': 2, 'c': 3}.

而对于默认的 0 你会得到 {'b': 2, 'c': 3, 'a': 0}

这两种方式都可以被视为同样有效的响应。

关于python - 为每个键合并 2 个具有更高值的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61111041/

相关文章:

python - 随机删除列表中项目的百分比

python - 如何修改wx.StaticText中的字符串?

java - 为什么我们需要安装一个工具包(JDK)才能开始Java编程

python - 为什么有些 Python 标准库是用 .so 编写的,而大多数其他库是用 .py 编写的?

python - 教程中出现多个 SparkContexts 错误

python - 在 Django 中使用 JSONField 的默认字典列表

python - 改进 Python 迷宫解决程序的性能

python - 将 FastAPI 中的请求记录到项目目录中的特定文件中

Python实时变化的热图绘制

python - 在 Python 的可调用函数中使用 for 循环并手动执行时结果不一致