encoding='utf-8’用于解决python3里,文件中有中文字符编码的bug
f=open('Walden.txt','r',encoding='utf-8')#打开文本
line = f.read() #以只读输入line
words = line.split() #进行分离(为list的格式)
new_words = [] #建立新的list
for word in words: #用replace去除标点符号、、append(object) 是将一个对象作为一个整体添加到列表中,即把去除标点后的字符放到new_word中
new_words.append(word.replace(',','').replace('.','').replace(':','').replace(';','').lower) #并用lower函数全部转为小写
words_set = set(new_words) #建立新的集合,并把集合new_word中搜查到的单词放入(set会自动去重)
words_dict= {} #建立新的字典
for word in words_set:
words_dict[word] = new_words.count(word)#开始计数,并把计数与单词链接起来放在字典中
sorted(words_dict.items(),key=lambda x:x[1], reverse=True) #sort函数用于排序在没有额外的参数的情况下,sorted()函数按照升序对值进行排列,也就是按照从小到大的顺序
#有一个可选的参数reverse,它将根据分配给它的布尔值改变排序。如果reverse = True,那么就会按照降序排列:
#个参数可以接收一个函数,该函数将作用于排序列表中的每个值,以确定结果的顺序。
print(type(word))
<class 'list'>