• python分析三国演义中出现次数最多的词作词频统计


     1 import jieba
     2 """分析三国演义小说中名字出现次数最多的人物然后输出"""
     3 #第一步 读取小说内容
     4 fb=open('三国演义.txt','r',encoding='utf-8')# 'r'表示操作read
     5 content=fb.read()
     6 fb.close()
     7 excludes = {"将军", "却说", "荆州", "二人", "不可", "不能", "如此", "商议", "如何", "主公",
     8 
     9             "军士", "左右", "军马", "引兵", "次日", "大喜", "天下", "东吴", "于是", "今日",
    10 
    11             "不敢", "魏兵","人马", "陛下", "一人", "不知", "汉中", "只见", "众将","蜀兵","丞相"}  #排除
    12 print('--------------------------------------------------------------------')
    13 #第二步 分词
    14 words=jieba._lcut(content)
    15 #3.统计 容器 数据{单词:次数}
    16 data={}#定义空字典
    17 for word in words:
    18     if(len(word)==1):#去除符号和单字
    19         continue
    20     elif word=='孔明曰'or word=='诸葛亮':
    21         rename='孔明'
    22     elif word=='玄德曰'or word=='玄德':
    23         rename='刘备'
    24     elif word=='云长'or word=='关公':
    25         rename='关羽'
    26     else:
    27         rename=word
    28     data[rename] = data.get(rename, 0) + 1
    29 
    30 #2.去除干扰词汇
    31 for word in excludes:
    32    del(data[word])
    33 
    34 
    35 #排序
    36 list=list(data.items())#转成列表以便排序
    37 list.sort(key=lambda x:x[1],reverse=True)
    38 fo=open('result.txt','w',encoding='utf-8')
    39 
    40 for i in range(10):#返回序列
    41     print('{:<10}{:>5}'.format(list[i][0],list[i][1]))#输出到控制台
    42     fo.write('{:<10}{:>5}{}'.format(list[i][0],list[i][1],'
    '))#写入到文件
    43 fo.close()

    运行结果:

     

  • 相关阅读:
    mysql联合主键自增、主键最大长度小记
    针对list集合进行分页展示
    初识javascript变量和基本数据类型
    12.19如何定义正则表达式
    人民币符号在html的显示方法
    windows下的NodeJS安装
    css 实现未知图片垂直居中
    IE678下placeholder效果,支持文本框和密码框
    jvm004 解析与分派
    jvm003 类加载的过程
  • 原文地址:https://www.cnblogs.com/qq1793033075/p/12296669.html
Copyright © 2020-2023  润新知