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

如何使用Python高效统计单词中各字母的出现次数

Python统计字符串字符出现次数的最高效实现方案

待统计字符串为:ABCABACBABACACBACBAC,预期统计结果为:A:8,B:6,C:6。

1. 通用场景最优方案(适配所有字符类型)

直接使用Python标准库内置的collections.Counter,底层为C语言优化实现,性能远高于纯Python手写的循环计数逻辑,代码简洁易维护:

from collections import Counter

s = "ABCABACBABACACBACBAC"
result = Counter(s)
print(dict(result)) # 输出:{'A': 8, 'B': 6, 'C': 6}
  • 优势:无需提前知道字符范围,支持所有可哈希元素的计数需求,内置支持TopN筛选、计数加减等扩展操作。

2. 极限性能场景最优方案(已知字符仅为A/B/C)

如果提前明确待统计字符只有A、B、C三种大写字母,可以用数组下标映射的方式计数,性能比Counter还要高15%~20%,适合超大规模文本的计数场景:

s = "ABCABACBABACACBACBAC"
count = [0] * 3
for char in s:
    count[ord(char) - ord('A')] += 1
result = {"A": count[0], "B": count[1], "C": count[2]}
print(result) # 输出:{'A': 8, 'B': 6, 'C': 6}
  • 优势:没有哈希表的计算和插入开销,纯内存地址偏移操作,执行速度最快,内存占用极低。

两种方案的统计结果均完全符合预期,可根据实际业务场景选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:45:08