是否有一种 Pythonic 方式将一个字典的浮点值添加到另一个字典中的值列表?
Is there a Pythonic way of adding float values of one dictionary to a list of values in another dictionary?
假设我有两个 Python 词典:
dictA = {20: [0.5, 1, 0.5], 25: [0.5, 1, 0.5]}
dictB = {20: 0.4, 25: 0.5}
第一个字典包含以浮点数列表作为其值的键。第二个包含具有浮点值的类似键。我希望结果是 dictB 的浮点值与 dictA 列表中每个值的总和:
dictResult = {20: [0.9, 1.4, 0.9], 25: [1, 1.5, 1]}
我正在尝试以最简单的方式完成此操作,而无需诉诸多行代码; (想让我的代码在未来更具可维护性和可读性)。这可以使用理解来完成吗?
使用字典理解
{ k: [x + dictB.get(k,0) for x in l] for k, l in dictA.items() }
输出
{20: [0.9, 1.4, 0.9], 25: [1.0, 1.5, 1.0]}
假设我有两个 Python 词典:
dictA = {20: [0.5, 1, 0.5], 25: [0.5, 1, 0.5]}
dictB = {20: 0.4, 25: 0.5}
第一个字典包含以浮点数列表作为其值的键。第二个包含具有浮点值的类似键。我希望结果是 dictB 的浮点值与 dictA 列表中每个值的总和:
dictResult = {20: [0.9, 1.4, 0.9], 25: [1, 1.5, 1]}
我正在尝试以最简单的方式完成此操作,而无需诉诸多行代码; (想让我的代码在未来更具可维护性和可读性)。这可以使用理解来完成吗?
使用字典理解
{ k: [x + dictB.get(k,0) for x in l] for k, l in dictA.items() }
输出
{20: [0.9, 1.4, 0.9], 25: [1.0, 1.5, 1.0]}