gpt4 book ai didi

python - 比较元组列表中的相似值

转载 作者:行者123 更新时间:2023-11-28 20:17:13 26 4
gpt4 key购买 nike

我有一个元组列表,如下例所示。我怎样才能浏览列表并找到所有相同的缩写,然后将分数加起来。希望能够对所有缩写执行此操作。

loop = [('MD', 0.0), ('MD', 0.0), ('MD', 0.0), ('LA', 0.0625), ('LA', 0.0625), ('CA', -0.5), ('CA', -0.5), ('CA', -0.5))]

最佳答案

您可以使用 itertools.groupby() 来完成

>>> from itertools import groupby
>>> loop = sorted(loop, key = lambda x:x[0])
>>> {k:sum(list(e[1] for e in v)) for k, v in groupby(loop, lambda x:x[0])}
{'MD': 0.0, 'CA': -1.5, 'LA': 0.125}
>>>

要获得平均值,请将上面的代码替换为以下代码:

>>> result = dict()
>>> for k, v in groupby(loop, lambda x:x[0]):
... temp = list(v)
... result[k] = sum(i[1] for i in temp)/len(temp)
...
>>> result
{'MD': 0.0, 'LA': 0.0625, 'CA': -0.5}
>>>

关于python - 比较元组列表中的相似值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956077/

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