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

Python:对相同键值求和并存入新字典的方法及语法错误排查

字典键值求和代码语法错误排查与修正

问题背景

从.txt文件中获取的原始字典如下:

dictOne = {
             "AAA": 0,
             "BBB": 1,
             "AAA": 3,
             "BBB": 1,
           }

需要生成新字典dictTwo,将相同键对应的值求和,预期结果:

dictTwo = {
             "AAA": 3,
             "BBB": 2,
           }

错误代码与问题分析

你编写的代码触发SyntaxError: invalid syntax,问题出在这一行:

dictTwo [k] = v += v

Python不支持这种连续赋值的写法,且逻辑本身也不符合需求——这行代码试图同时完成自增和赋值,既违反语法规范,也没实现“已存在的键累加值、不存在的键初始化值”的核心逻辑。

修正后的代码

基础循环实现

import json

# 假设text是从txt文件读取的字符串内容
dictOne = json.loads(text)
dictTwo = {}

for k, v in dictOne.items():
    if k in dictTwo:
        dictTwo[k] += v
    else:
        dictTwo[k] = v

更简洁的实现(使用collections.defaultdict)

import json
from collections import defaultdict

dictOne = json.loads(text)
dictTwo = defaultdict(int)

for k, v in dictOne.items():
    dictTwo[k] += v

# 若需要转为普通字典,可执行:
# dictTwo = dict(dictTwo)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:22:45