发布于2021-07-25 06:52 阅读(610) 评论(0) 点赞(15) 收藏(2)
以open函数打开“sample.txt”文件,统计里面出现过的单词频率。
首先通过“正则表达式”把非字母的符号全部变成空格,再用split()方法把所有的单词以“空格”为分隔符分割,储存在words变量中(list类型)。声明一个dict类型的变量word_counts,以单词作为key值,单词出现的次数作为value值。然后用“in”来判断单词是否存在word_counts中,若存在,则单词对应的value值加一,如果不存在,就新增一个key值,并把对应的value值初始化为1。
此程序中为了避免大小写造成的对比问题,把所有的单词都变成小写统计。
- # -*- encoding:utf-8 -*-
- import re
- fp = open("sample.txt","r")
- article = fp.read()
- new_article = re.sub(r'[^A-Za-z]', ' ', article) #使用正则表达式把除了字母和空格以外的符号都去除
- words = new_article.split( )
- word_counts = {}
- for word in words:
- if word.lower() in word_counts:
- word_counts[word.lower()] = word_counts[word.lower()] + 1
- else:
- word_counts[word.lower()] = 1
-
- key_list = list(word_counts.keys())
- key_list.sort()
- for key in key_list:
- if word_counts[key] >= 1:
- print("{}:{}".format(key,word_counts[key]))
原文链接:https://blog.csdn.net/m0_55746228/article/details/119026521
作者:火腿快跑
链接:http://www.pythonpdf.com/blog/article/455/3834de586479f5d86b58/
来源:编程知识网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!