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

Python中如何将字典列表的count字段值除以所有count的总和?

后续操作实现步骤

你已经算出总计数total_count之后,只需要遍历原列表,逐个更新每个字典里的count字段为占比值即可,需要保留指定位数小数的话用对应精度处理逻辑就行。

直接修改原列表的实现代码

a = [{"language": "en-US", "count": 10}, {"language": "en", "count": 3}]
total_count = sum(d.get('count', 0) for d in a)

# 遍历每个字典项,更新count为占比
for d in a:
    # 截断保留2位小数,和你给出的预期结果完全匹配
    d['count'] = int(d['count'] / total_count * 100) / 100

执行后打印a就能得到你要的[{"language": "en-US", "count": 0.76}, {"language": "en", "count": 0.23}]结果。

补充说明:如果需要按四舍五入规则保留两位小数,把计算逻辑替换为round(d['count'] / total_count, 2)即可,该场景下得到的结果是0.77和0.23。

不修改原列表、生成新结果列表的写法

如果你不想改动原始的计数数据,可以用列表推导式生成新的结果列表:

new_a = [
    {
        "language": d["language"],
        "count": int(d['count'] / total_count * 100) / 100
    }
    for d in a
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 21:57:23