考虑元组列表
[(7751, 0.9407466053962708), (6631, 0.03942129), (7751, 0.1235432)]
在第一个数相似的情况下,如何用pythonic方法计算所有元组值的平均值?例如,答案必须是
[(7751, 0.532144902698135), (6631, 0.03942129)]
最佳答案
一种方法是使用collections.defaultdict
from collections import defaultdict
lst = [(7751, 0.9407466053962708), (6631, 0.03942129), (7751, 0.1235432)]
d_dict = defaultdict(list)
for k,v in lst:
d_dict[k].append(v)
[(k,sum(v)/len(v)) for k,v in d_dict.items()]
#[(7751, 0.5321449026981354), (6631, 0.03942129)]
关于python - 计算第一个数字相似的所有元组值的平均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48007236/