以下是一个示例代码,演示如何根据按键名称对对象数组进行分组和聚合。
from itertools import groupby
# 原始对象数组
objects = [
{'name': 'A', 'value': 1},
{'name': 'A', 'value': 2},
{'name': 'B', 'value': 3},
{'name': 'B', 'value': 4},
{'name': 'C', 'value': 5},
]
# 按键名称进行分组并聚合
grouped_objects = []
for key, group in groupby(objects, key=lambda x: x['name']):
# 对每个分组进行聚合操作,这里是求和
total_value = sum(obj['value'] for obj in group)
grouped_objects.append({'name': key, 'total_value': total_value})
# 打印结果
for group in grouped_objects:
print(group)
输出结果如下:
{'name': 'A', 'total_value': 3}
{'name': 'B', 'total_value': 7}
{'name': 'C', 'total_value': 5}
以上代码使用了Python的itertools.groupby
函数来实现按键名称进行分组,在每个分组中使用了列表推导式来对分组内的对象进行聚合操作。最后,将分组和聚合的结果存储在一个新的对象数组中,并进行打印输出。