gpt4 book ai didi

python - 将字典与平均键相交

转载 作者:行者123 更新时间:2023-12-01 05:42:11 24 4
gpt4 key购买 nike

如果我有这本字典:

a = {'alpha':12,'beta':13,'gamma':14}

还有这个:

b = {'andora':19,'beta:14','gamma':19}

还有这个:

c = {'beta':11,'gamma':20}

如何将键相交,以便生成的字典的值是给定字典中值的平均值。

例如:

相交([a,b,c]) -> {'beta':12.6666666667,'gamma':17.6666666667}

最佳答案

def intersect(dicts):
common_keys = reduce(set.intersection, map(set, dicts))
num = float(len(dicts))
return {k: sum(d[k] for d in dicts)/num for k in common_keys}

示例:

>>> a = {'alpha':12,'beta':13,'gamma':14}
>>> b = {'andora':19,'beta':14,'gamma':19}
>>> c = {'beta':11,'gamma':20}
>>> intersect([a, b, c])
{'beta': 12.666666666666666, 'gamma': 17.666666666666668}

如果您希望能够像 intersect(a, b, c) 那样调用它,而不需要将它们包装在列表中,只需更改 def 行到 def intersect(*dicts) (正文可以保持完全相同)。

关于python - 将字典与平均键相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com