使用python实现英文小说中简单的单词计数(去除标点、空格,忽略大小写),统计出现最频繁的50个单词。
import re
f=open('emma.txt')
d={}
for line in f:
words=line.strip().lower().split()
words_new=[]
for word in words:
word_new=re.sub(r'[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+', '', word) #过滤中英文标点
words_new.append(word_new)
for word in words_new:
if word in d:
d[word]+=1
else:
d[word]=1
word_freq=sorted(d.items(),key=lambda x: x[1],reverse=True) #按出现次数从大到小排序
print(word_freq[:50]) #打印出现次数最多的前50个单词
f.close()