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

如何在Python中统计数组指定单词的出现次数?

实现指定单词的出现次数统计

要准确统计输入文本中指定单词的完整出现次数,核心是匹配完整单词(避免子字符串误判,比如不要把"elif"中的"if"算作一次"if"的出现),可以通过以下步骤实现:

实现步骤

  • 导入正则表达式模块re,利用\b单词边界规则匹配完整单词
  • 遍历目标单词列表,对每个单词统计匹配次数
  • 整理统计结果并输出

完整代码示例

import sys
import re

# 读取用户输入
print("Input your code: \n")
user_input = sys.stdin.read()

# 指定待统计的单词
wordsToFind = ["if", "elif", "else", "for", "while"]

# 统计每个单词的出现次数
word_counts = {}
for word in wordsToFind:
    # 使用正则全词匹配,re.IGNORECASE可选,用于忽略大小写匹配
    matches = re.findall(rf'\b{re.escape(word)}\b', user_input)
    word_counts[word] = len(matches)

# 输出统计结果
print("\n单词统计结果:")
for word, count in word_counts.items():
    print(f"{word}: {count} 次")

代码说明

  • re.escape(word):对单词中的特殊字符进行转义,避免正则语法冲突(比如如果单词包含.或*等符号时不会出错)
  • \b:正则中的单词边界,确保匹配的是独立的单词,而非其他单词的一部分
  • 若需要忽略大小写统计(比如匹配"If"、"IF"),可以在re.findall中添加re.IGNORECASE参数:
    matches = re.findall(rf'\b{re.escape(word)}\b', user_input, re.IGNORECASE)
    

测试示例

当输入你提供的代码文本时,输出结果为:

单词统计结果:
if: 1 次
elif: 1 次
else: 1 次
for: 0 次
while: 0 次

内容的提问来源于stack exchange,提问作者Sisimośki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:10:31