第 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]