以下是一个使用Python的示例代码,用于按参数对字典列表进行分组和求和:
from itertools import groupby
data = [
{'name': 'Alice', 'age': 25, 'score': 80},
{'name': 'Bob', 'age': 30, 'score': 90},
{'name': 'Alice', 'age': 35, 'score': 75},
{'name': 'Bob', 'age': 25, 'score': 70},
{'name': 'Alice', 'age': 30, 'score': 85},
{'name': 'Bob', 'age': 35, 'score': 95}
]
# 首先,按照'name'参数进行分组
data.sort(key=lambda x: x['name'])
groups = groupby(data, key=lambda x: x['name'])
# 对每个组进行求和
result = {}
for key, group in groups:
total_score = sum(d['score'] for d in group)
result[key] = total_score
# 打印结果
print(result)
输出结果:
{'Alice': 240, 'Bob': 255}
在这个示例中,我们首先使用lambda函数将字典列表按照'name'参数进行排序,然后使用itertools库的groupby函数进行分组。然后,我们对每个组进行迭代,并使用内置的sum函数计算每个组的总分数。最后,我们将结果保存在一个字典中,其中键为'name'参数的值,值为该组的总分数。