【发布时间】:2021-12-27 10:42:55
【问题描述】:
我有一个这样的字典列表。
fruit = [{"apple": 10, "pear": 20, "banana": 30, "strawberry": 50},
{"apple": 12, "pear": 5, "banana": 20, "strawberry": 5},
{"apple": 15, "pear": 26, "banana": 32, "strawberry": 8}]
我可以在一行中编写一个 reduce 函数(使用 lambda 参数)来获得一个具有相同键的新字典。新字典的每个键的值是对应键的所有值的总和。预期的输出应该是一个字典,如下所示:
{'apple': 37.0, 'pear': 51.0, 'banana': 82.0, 'strawberry': 63.0}
【问题讨论】:
-
我想这是可能的,但可能有点笨拙。你有没有尝试过……?
-
为什么要写成一行?您可以通过用
;分隔任意数量的语句将它们放入同一行,但您不应该这样做,因为它会损害代码的可读性。您也可以在单个语句中执行此操作,但这也会损害可读性。
标签: python dictionary lambda