瓦尔登湖的单词计数

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'>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值