第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数。
分析:此题重点在于文本的分割和非单词字符的去除
英文文档text.txt内容如下:
I am a pythoner! I like python!
python is great.
代码如下:
# encoding=utf-8
import re,string
x=''
r=[]
d={}
text=open('text.txt') #获取文本
t=text.readlines() #按行读取全部内容
delEstr=string.punctuation+string.digits #数字和符号的集合(虽然这题是纯英文,但是适用一般文本)
identify=string.maketrans('','') #翻译方法
for i in t:
i=i.translate(identify,delEstr) #去符号和数字
r+=i.split() #去空格
for i in r:
if i not in d.keys(): #统计
d[i]=1
else:
d[i]+=1
print d
print 'The number of word: %d' %len(d)
{'a': 1, 'great': 1, 'love': 1, 'I': 2, 'is': 1, 'am': 1, 'python': 2, 'pythoner': 1}
The number of word: 8
[Finished in 0.2s]