python show-me-the-code 第0004

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章