是否有将一个字典的浮点值添加到另一个字典中的值列表的 Pythonic 方法?

xti*_*ige 1 python dictionary list add

假设我有两个 Python 词典:

dictA = {20: [0.5, 1, 0.5], 25: [0.5, 1, 0.5]}
dictB = {20: 0.4, 25: 0.5}
Run Code Online (Sandbox Code Playgroud)

第一个字典包含以浮点数列表作为其值的键。第二个包含具有浮点值的类似键。我希望结果是 dictB 的浮点值与 dictA 列表中的每个值的总和:

dictResult = {20: [0.9, 1.4, 0.9], 25: [1, 1.5, 1]}
Run Code Online (Sandbox Code Playgroud)

我正在尝试以最简单的方式做到这一点,而无需求助于多行代码;(想让我的代码在未来更具可维护性和可读性)。这可以使用理解来完成吗?

Vis*_*dev 6

使用字典理解

{ k: [x + dictB.get(k,0) for x in l] for k, l in dictA.items() }
Run Code Online (Sandbox Code Playgroud)

输出

{20: [0.9, 1.4, 0.9], 25: [1.0, 1.5, 1.0]}
Run Code Online (Sandbox Code Playgroud)