You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对字典列表中相同label对应的value值求和并输出新字典列表

按label聚合value的实现方法

核心思路是先通过中间容器统计每个label对应的value总和,再将统计结果转换为目标格式的字典列表。

基础实现(无需导入第三方包)

适用于所有Python版本,逻辑易懂:

liste = [{"label": "hello", "value":12} , {"label": "hello", "value": 2},{"label": "world", "value": 21} ]

# 用普通字典做临时统计
sum_map = {}
for item in liste:
    current_label = item["label"]
    # 若label不存在则默认取值为0,累加当前value
    sum_map[current_label] = sum_map.get(current_label, 0) + item["value"]

# 转换为要求的输出格式
result = [{"label": k, "value": v} for k, v in sum_map.items()]

运行后result的值为:[{"label": "hello", "value": 14},{"label": "world", "value": 21}],符合需求。

简洁实现(借助标准库)

使用Python标准库collections的defaultdict简化统计逻辑:

from collections import defaultdict

liste = [{"label": "hello", "value":12} , {"label": "hello", "value": 2},{"label": "world", "value": 21} ]

sum_map = defaultdict(int)
for item in liste:
    sum_map[item["label"]] += item["value"]

result = [{"label": k, "value": v} for k, v in sum_map.items()]

注意:Python 3.7及以上版本默认保留字典的插入顺序,输出列表中label的顺序和原列表第一次出现的顺序一致;如果使用更低版本且需要保序,可以用collections.OrderedDict替代普通字典。

内容的提问来源于stack exchange,提问作者John nicola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:48:02