利用python分析《爱丽丝漫游仙境》词频

需要解决的问题:

1.去掉标点,英文是英文著作,因此对形如「Damon's」还要对「'」作替换成空格处理,防止影响结果

2.将列表中的大小写统一(时态、单复数暂时不考虑)

3.还需要一个去重的列表

下面是1st_version代码

file_name = "Alice's Adventures in Wonderland.txt" #这里求方便,我们把文档和.py放在同一目录下

with open(file_name) as f_obj:

    contents = f_obj.read()

    words = contents.replace("'"," ") #首先将「'」替换成空格


import re #利用正则表达式去掉文中的标点

r='[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]' #注意这里的格式是'[要去除的内容]'

clean_words = re.sub(r,'',words)


split_words =  clean_words.split() #将文中单词划分开,形成原始的词汇表


complete_words = [] #建立一个空的列表

for word in split_words: 

    lowercase_word = word.lower() #将列表中的元素利用遍历统一格式

    complete_words.append(lowercase_word) #这里是把统一化的词汇放在新的列表中


unique_words = list(set(complete_words)) #这里是去重之后的列表

frequencies = {} #设立新的字典

for word in unique_words:

    frequency = complete_words.count(word)

    frequencies[word] = frequency

print(frequencies) 


你可能感兴趣的:(利用python分析《爱丽丝漫游仙境》词频)