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

如何使用字典实现带++/--标记的人员积分加减统计功能

你的现有代码仅定义了操作符和分值的映射,没有对输入的动作列表做遍历拆分、逐次统计的逻辑,修改方案如下:

完整实现代码

def keepTabs(actions: list[str]):
    score_map = {'++': 1, '--': -1}
    result = {}
    for action in actions:
        # 拆分操作符和人名:最后两位是操作符,前面部分为人名
        op = action[-2:]
        name = action[:-2]
        # 人名不在统计结果中时初始积分为0
        if name not in result:
            result[name] = 0
        # 累加对应操作的分值
        result[name] += score_map[op]
    return result

print(keepTabs(actions=["Jim++", "John--", "Jeff++", "Jim++", "John--", "Jeff--", "June++"]))

运行输出

{'Jim': 2, 'John': -2, 'Jeff': 0, 'June': 1}

实现全程未使用导入、lambda或者collections相关方法,完全基于基础字典逻辑实现,符合你的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:15:05