【问题标题】:Is there a Pythonic way of adding float values of one dictionary to a list of values in another dictionary?是否有一种 Pythonic 方法可以将一个字典的浮点值添加到另一个字典的值列表中?
【发布时间】:2021-02-21 05:58:26
【问题描述】:

假设我有两个 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]}

我正在尝试以最简单的方式来实现这一点,而无需使用多行代码; (想让我的代码在未来更易于维护和阅读)。这可以使用推导来完成吗?

【问题讨论】:

  • 使您的代码可维护通常并不意味着“使用更少的行数”。 Pythonic != 使用推导

标签: python list dictionary add


【解决方案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]}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多