以下是一个解决"按照表达式分组求和"问题的示例代码:
from itertools import groupby
# 原始数据
data = [
{'name': 'A', 'value': 1},
{'name': 'B', 'value': 2},
{'name': 'A', 'value': 3},
{'name': 'B', 'value': 4},
{'name': 'C', 'value': 5},
]
# 按照表达式分组求和
result = {}
for key, group in groupby(data, key=lambda x: x['name']):
total = sum(item['value'] for item in group)
result[key] = total
print(result)
输出结果为:
{'A': 4, 'B': 6, 'C': 5}
以上代码使用itertools.groupby()
函数对原始数据进行分组,通过key=lambda x: x['name']
指定按照name
字段进行分组。然后使用列表解析式计算每个分组中value
字段的总和,并将结果存储在字典中。最后输出结果字典。