假设你有以下数据:
data = [
{'id': 1, 'value': 10},
{'id': 1, 'value': 20},
{'id': 2, 'value': 30},
{'id': 2, 'value': 40},
{'id': 2, 'value': 50}
]
你可以按照id分组,并将下一行的值添加到当前行的值上,可以使用以下代码:
result = []
current_id = None
current_value = 0
for item in data:
if item['id'] != current_id:
if current_id is not None:
result.append({'id': current_id, 'value': current_value})
current_id = item['id']
current_value = item['value']
else:
current_value += item['value']
# 添加最后一个分组的结果
if current_id is not None:
result.append({'id': current_id, 'value': current_value})
print(result)
输出结果为:
[
{'id': 1, 'value': 30},
{'id': 2, 'value': 120}
]
这个代码将数据按照id分组,并将每个分组的value值相加,得到了最终的结果。