上篇文章(python--10行代码搞定词频统计)我们介绍了利用Counter模块轻松搞定词频统计的方法,因为重点是介绍模块的使用,代码显得比较粗糙。
import re,collections
def get_nums(file):
with open (file) as f:
words_box=[]
for line in f:
if re.match(r'[a-zA-Z0-9]*',line):#避免中文影响
words_box.extend(line.strip().split())
return collections.Counter(words_box)
print(get_nums('emma.txt')+get_nums('伊索寓言.txt'))
(注:文件下载地址:http://pan.bai

本文继续探讨Python中使用Counter进行词频统计的优化,针对中文、大小写和单词标点问题提出解决方案。通过字符串的isalpha()方法过滤中文,使用lower()处理大小写,并利用re.split()更灵活地切割字符串。

1995

被折叠的 条评论
为什么被折叠?



