词频统计

 

 

import string
#punctuation = [',','.','!','?','’',':','$','%']
prep = ['a','in','of','the','to','at','it','on','and','so','his','that',
        'not','was','my','were','we','he','an','as','is','for','mr','us','me']
punctuation = list(string.punctuation)  #String 模块提供的标点符号字符串
with open('article.txt','r') as f:
    article = f.read()
new_art = article
for i in range(len(punctuation)):
    new_art = new_art.replace(punctuation[i],'')    #删除标点符号
new_art = new_art.lower()       #替换成小写
art_list = new_art.split()     #以空格将字符串分成一个个单词的列表


dic = dict()
for i in art_list:
    dic[i] = new_art.count(i)   #将单词和其出现次数用字典记录
for i in prep:
    if(dic.get(i)!=None):      #如果为介词之类的无意义的词,将其删去
        del(dic[i])

new_dic = sorted(dic.items(),key=lambda x:x[1],reverse = True)
'''
dic.items()返回可遍历的元祖
key后面跟一个函数
lambda是定义一个匿名函数
lambda x:x[1]相当于
def f(x):
  return x[1]
x[0]表示键key,x[1]表示值value
这里是使用值(单词出现次数)进行降序排序
reverse = True表示降序
'''
for i in range(10): print(new_dic[i]) #取前10个单词

 

截图如下:

 

 

转载于:https://www.cnblogs.com/RE148/p/8618564.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值