我可以对每个键的dict列表中的项求和,如下所示:
import functools
dict(
functools.reduce(
lambda x, y:x.update(y) or x,
dict1,
collections.Counter())
)
但鉴于此
dict1 = [{'ledecky': 1, 'king': 2, 'vollmer': 3},
{'ledecky': 1, 'vollmer': 2, 'king': 3},
{'schmitt': 1, 'ledecky': 2, 'vollmer': 3}]
我怎么能根据奖牌的价值来计算他们的价值呢
medal_value = {1: 10.0, 2: 5.0, 3: 3.0}
这样最终的dict将产生:
{'ledecky': 25.0, 'king': 8.0, 'vollmer': 11.0, 'schmitt': 10.0}
get()
字典函数在本例中运行得非常好,我们要么给新创建的字典一个默认值0
,要么用我们的value
(值dict1
)作为搜索键,将它的当前值与加权值相加。你知道吗样本输出:
只需定义一个查找函数即可将原始dict转换为dict:
并将此函数应用于表达式的更新部分:
相关问题 更多 >
编程相关推荐