我想写一个程序分析一本书各个单词出现的频率。在阅读之前,先找出其中单词出现频率高我还不认识的单词,事先背上,然后再阅读。
思路:
把TXT文件里面所有的英文单词储存在一个list里面(注意,里面的元素有重复的。)用for循坏分析list里的每一个元素,建立一个单词为key,出现次数为value的dictionary。然后进行排序。
# -*- coding: utf-8 -*-
import re
f = open("file to analyse.txt","r")
wordlist = []
freqdic = {}
'''
将list中各个元素出现的数目进行统计,放入freqdic中。
'''
def countfreq(list):
for i in list:
if i in freqdic:
freqdic[i] += 1
else:
freqdic[i] = 1
for line in f.readlines():
str = line.lower()
singlelinelist = re.split("\W+",str)#re.split没有去除文本中的数字,数字会在后面的程序中进行处理。
countfreq(singlelinelist)
t = []