Python实现文本词频统计:基于字典与正则表达式的高效方法

凌晨两点半
凌晨两点半
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍如何使用Python统计文章中的单词出现次数。核心思路利用字典记录单词及其频次,结合正则表达式精准提取单词,并通过文件读写功能处理文本数据。文章提供了完整的Counter类实现代码,演示如何从文件中读取内容、清洗数据并排序输出高频单词,适合Python初学者学习数据结构应用与文本处理技巧。

Python统计单词出现次数概述

Python统计单词出现次数

基于字典的词频统计原理

在进行单词词频统计时,字典(Dictionary)是最理想的数据结构。我们将单词作为字典的键(Key),将单词出现的次数作为值(Value)。这种方式能够高效地记录每个单词的频率,其逻辑类似于电话本,将每个名字与对应的电话号码进行关联。

代码实现与执行效果

以下是具体的实现代码,该程序实现了从 importthis.txt 文件中读取文本内容,并统计出现频率最高的前5个单词。


# -*- coding:utf-8 -*-
import io
import re
 
class Counter:
  def __init__(self, path):
    """
    :param path: 文件路径
    """
    self.mapping = dict()
    with io.open(path, encoding="utf-8") as f:
      data = f.read()
      words = [s.lower() for s in re.findall("\w+", data)]
      for word in words:
        self.mapping[word] = self.mapping.get(word, 0) + 1
 
  def most_common(self, n):
    assert n > 0, "n should be large than 0"
    return sorted(self.mapping.items(), key=lambda item: item[1], reverse=True)[:n]
 
if __name__ == '__main__':
  most_common_5 = Counter("importthis.txt").most_common(5)
  for item in most_common_5:
    print(item)

执行效果如下:


('is', 10)
('better', 8)
('than', 8)
('the', 6)
('to', 5)

核心技术知识点

相关知识点补充:

1、掌握文件的正确读写方法

2、学习数据排序技巧

3、深入理解字典数据类型的运用

4、掌握正则表达式的使用

至此,关于Python统计文章中单词出现次数的实例介绍完毕。如需了解更多相关Python统计单词内容,建议搜索本站历史文章或继续阅读后续相关内容,感谢大家的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表