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

Python统计字符串中3/6/9出现频率返回最高值触发KeyError如何解决?

问题排查
  • 核心错误为字典键与取值键的类型不匹配:定义的字典键是整数类型的3、6、9,遍历输入字符串时拿到的元素el是字符串类型,二者为不同的键,查询时触发KeyError。
  • 存在冗余代码:x = len(str(n))无实际作用,可直接删除。
  • 命名不规范:dict是Python内置类型名,作为变量名会覆盖原生类型,易引发后续异常。
修正代码
def count_threes(n):
    # 初始化3、6、9的计数字典
    count_dict = {3: 0, 6: 0, 9: 0}
    for el in n:
        num = int(el)
        # 仅统计目标数字,避免非预期数值的计数逻辑
        if num in count_dict:
            count_dict[num] += 1
    # 返回频次最高的数字
    return max(count_dict, key=count_dict.get)
测试验证

输入示例'0939639'调用函数,返回结果为9,符合需求要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:54:03