这个也是学习过程中的一个成果吧,希望大家能批评指正。

红楼梦人物出场次数统计。亮点在于,考虑了人物的别称,以及有较为丰富的排除词库。如凤姐的称谓就有许多,凤辣子,凤姐,王熙凤等等,还有黛玉,有林黛玉,林妹妹,林丫头等等。很多人如果不把这些考虑在内,就容易导致错误的结果。

不得不说,宝玉是绝对的主角。人们通常认为黛玉是第二主角,宝黛恋是全文的绝对主线。结果出场次数最多的除了宝玉,却是贾母、凤姐和王夫人。接下来才是黛玉。挺吃惊的,不是吗?

标题

下面上代码:

这个也是学习过程中的一个成果吧,希望大家能批评指正。

#CalDreamsV1.py
import jieba
txt = open("Dreams.txt", "r", encoding="utf-8").read()
excludes = {"什么", "一个", "我们", "那里", "如今", "你们", "说道", "知道", "起来", "这里", \"出来","姑娘","他们","众人","奶奶","自己","一面","只见","两个", \"怎么","不是","不知","这个","听见","这样","进来","咱们","告诉","就是" ,\"东西","回来","大家","没有","只是","这样","进来","咱们","告诉","就是"  }
words = jieba.lcut(txt)
counts = {}
for word in words:if len(word) == 1:continueelif word == "老太太" or word == "太太" or word == "老祖宗" or word == "史太君":rword = "贾母"elif word == "老爷":rword = "贾政"elif word == "宝二爷":rword = "宝玉"elif word == "王熙凤" or word == "熙凤" or word == "凤辣子":rword = "凤姐"elif word == "林黛玉" or word == "潇湘妃子" or word == "林丫头" or word == "林妹妹":rword = "黛玉"elif word == "宝姑娘" or word == "宝丫头" or word == "蘅芜君" or word == "宝姐姐":rword = "宝钗"else:rword = wordcounts[rword] = counts.get(rword, 0) + 1for word in excludes :del counts[word]
items = list(counts.items())
items.sort(key = lambda x:x[1], reverse=True)
print("《红楼梦》人物出场次数")
for i in range(10):word , count = items[i]print("{0:<10}{1:>5}".format(word, count))

红楼梦人物出场次数统计相关推荐

  1. 红楼梦人物出场统计python_Python程序设计习题3——红楼梦人物出场次数统计

    统计<红楼梦>中前20位出场最多的人物 使用Python编写程序,统计书籍<红楼梦>中前20位出场次数最多的人物 #红楼梦人物出场统计 import jieba txt=ope ...

  2. Python零基础入门习题(六)红楼梦人物出场次数统计

    前言 Python语言简单易用,可读性强.在了解基础语法后,你就可以来尝试解决以下的题目.放心,本系列的文章都对新手非常友好. 一.生日悖论 生日悖论是指在不少于 23 个人中至少有两人生日相同的概率 ...

  3. python统计红楼梦人物出场次数_《红楼梦》人数统计,人物,出场,次数

    这个也是学习过程中的一个成果吧,希望大家能批评指正. 红楼梦人物出场次数统计.亮点在于,考虑了人物的别称,以及有较为丰富的排除词库.如凤姐的称谓就有许多,凤辣子,凤姐,王熙凤等等,还有黛玉,有林黛玉, ...

  4. 红楼梦人物出场顺序统计

    题目描述 代码实现 import jieba f = "红楼梦.txt" sf = "停用词.txt" f1=open(f,encoding="utf ...

  5. 红楼梦人物出场顺序python_Python 中文词频分析——红楼梦人物出场次数

    本篇文档,带大家用Python做一下词频统计 本章需要用到Python的jieba模块 jieba模块是一个经典的用于中文分词的模块 首先呢 我们需要读取文章的内容,并用jieba库的lcut进行分词 ...

  6. Python词频统计——《红楼梦》人物出场次数统计

    代码实现 import jieba as j names = ['贾母', '贾珍', '贾蓉', '贾赦', '贾政', '袭人', '王熙凤', '紫鹃', '翠缕', '香菱','豆官', '薛 ...

  7. 红楼梦人物出场统计python_红楼梦有多少人物统计(一)

    原本打算写点有关在红楼梦中,有哪些人物是争议最多,以及有哪些人物争议最少.结果在统计红楼梦中人物时,在遍历了数据库所收集的红楼梦研究著作之后,发现了一个老问题. 这个问题就是:在红楼梦中究竟写了多少人 ...

  8. 红楼梦人物出场统计python_用Python分析《红楼梦》:见证贾府的兴衰

    没读过<红楼梦>也能知道前后四十回是不是一个作者写的?很久以前,数据侠黎晨,用机器学习的算法分析了<红楼梦>,认为后四十回和前八十回内容上有明显差距.不过,数据侠楼宇却不这么认 ...

  9. jieba和wordcloud红楼梦人物出现次数生成词云

    目录结构: dict.txt: 黛玉 10 nrke 宝钗 10 nrke 贾演 10 nrke 贾寅 10 nrke 贾源 10 nrke 贾法 10 nrke 贾代化 10 nrke 贾代善 10 ...

最新文章

  1. sap IUT255 Integration of SAP CRM and SAP IS-U_EN_Col62.pdf
  2. 更深的编码器+更浅的解码器=更快的自回归模型
  3. 如何读懂 C 语言复杂的声明
  4. python 函数参数类型判断(判断类型)
  5. NVIDIA Tesla K40C 和 AMD Firepro W8100 的对比
  6. CentOS卸载自带的JDK
  7. 关于大规模 push 系统的解决方案
  8. 【C#】SQL数据库助手类2.0(自用)
  9. 数据--第36课 - 遍历二叉树
  10. 从(社区电商)订购 到 出库 业务流程(个人想法)
  11. 基于python和酷Q的QQ机器人开发实践(1)
  12. Cas单点登录常见问题总结
  13. 〖Python 数据库开发实战 - MySQL篇④〗- MacOS 配置 MySQL 环境变量及安装MySQL图形化工具 - MySQL Workbench
  14. mos管h桥电机驱动电路与设计原理图-KIA
  15. 如何php实现即时到账,paypal即时到账php实现代码-PHPphp技巧
  16. word审阅 去除word回车换行时出现的竖线的方法
  17. vb中产生随机数经典实例分析
  18. python制作一个菜单_用CSS打造一个图形化的汉堡菜单
  19. Error:A problem occurred configuring project ':app'. failed to find target with hash string 'andro
  20. 智公网:公务员行测基础考点

热门文章

  1. ORA-01012: not logged on处理
  2. 网易2017春招笔试——赶去公司
  3. Oracle ERP 库存管理(业务流程 核心流程) [转]
  4. 全屏播放PPT时,播放音乐
  5. SolidWorks工装 焊接 夹具 治具 检具 3D图档-350套(9.2G)
  6. 企业微信打卡怎么防止作弊?看看其他企业是怎么做的
  7. 社会管理网格化 源码_全县首家镇域网格妇联——“和大王”社会治理网格化服务管理中心妇联正式成立!...
  8. Python中文gbk编码输出报错
  9. c语言罗马数字转十进制,罗马数字转十进制的三种方法
  10. Android开发:Shape详细解读