如何在Tray.io中对列表按user_email分组并求和duration字段?
按user_email分组并对duration字段求和
原始数据
[ { "user_email": "fakemail@icloud.com", "duration": 320 }, { "user_email": "badmail@gmail.com", "duration": 167 }, { "user_email": "fakemail@icloud.com", "duration": 450 } ]
需求说明
将上述列表按user_email字段分组,对每组的duration字段求和,生成分组汇总后的新列表。
实现示例(Python)
用字典临时存储各邮箱的累计时长,再转换为目标格式列表:
original_list = [ {"user_email": "fakemail@icloud.com", "duration": 320}, {"user_email": "badmail@gmail.com", "duration": 167}, {"user_email": "fakemail@icloud.com", "duration": 450} ] sum_dict = {} for item in original_list: email = item["user_email"] duration = item["duration"] if email in sum_dict: sum_dict[email] += duration else: sum_dict[email] = duration result_list = [{"user_email": email, "duration": total} for email, total in sum_dict.items()]
最终结果
[ { "user_email": "fakemail@icloud.com", "duration": 770 }, { "user_email": "badmail@gmail.com", "duration": 167 } ]
内容的提问来源于stack exchange,提问作者Juan Pablo Argento
相关产品推荐
相关产品推荐

