python统计单词出现次数
做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的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)
更多python教程,推荐学习:Python视频教程
以上是python统计单词出现次数的详细内容。更多信息请关注PHP中文网其他相关文章!