今天遇到这么一道题:有一篇英文文章保存在 a.txt 中,请用python实现统计这篇文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数。
这个题目运用了python的内置函数collections
话不多说,直接上代码
一、首先我们的有一个测试文档。
我这里就用了一个a.txt文档,大家可以自己写一个,或者随意百度扒一个。
下面就是我写的那个txt文档,用来测试
二、直接上代码
b=[] #这个列表是用来存储文章中出现的单词的。
import collections #引用这个内置函数
with open('a.txt') as f: #打开这个文件
str1=f.read()
for i in str1:
if i in b: #判断这里,大概解释一下,每当出现一个单词或者字母,我们就判断有没有存储在b列表中
pass #如果在的话我们就跳过
else:
b.append(i) #如果没有存储在b列表当中我们就把它存进去
for i in b:
print(i,collections.Counter(str1)[i]) #现在调用这个函数运行出来结果就ok
~~~~~~~下面是运行出来的结果,大家可以看一眼~~~~~~~~~~
a 2
b 2
c 2
d 2
e 2
f 3