【20210423】jieba库返回《红楼梦》前十名人物出场次序

利用jieba库统计红楼梦中前十位人物出场次序

1:代码
import jieba
txt = open(‘D:\studydata\红楼梦.txt’,“r”,encoding=‘utf-8’).read()
words = jieba.lcut(txt) #将中文进行分词
excludes = {“什么”,“一个”,“我们”,“那里”,“你们”,“如今”,
“说道”,“知道”,“老太太”,“起来”,“姑娘”,“这里”,
“出来”,“他们”,“众人”,“自己”,“一面”,“太太”,
“只见”,“怎么”,“奶奶”,“两个”,“没有”,“不是”,
“不知”,“这个”,“听见”,“这样”,“进来”,“咱们”,
“告诉”,“就是”,“东西”,“平儿”,“回来”,“只是”,
“大家”,“老爷”,“只得”,“丫头”,“这些”,“不敢”,
“出去”,“所以”,“不过”,“的话”,“不好”,“姐姐”}
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == ‘凤姐’ or word == ‘凤姐儿’:
rword = ‘凤姐’
else:
rword = word
counts[rword] = counts.get(rword,0) + 1
for 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))
2:结果截图
在这里插入图片描述
备注:本人没看过红楼梦,所以不太清楚excludes中的是否是人名,大家认为老爷或者平儿也是人名的话可以把excludes中的老爷和平儿删除。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您编写一个使用 `jieba` Python 程序来实现这个功能。需要注意的是,`jieba` 需要额外安装,可以使用 `pip` 命令进行安装。例如,在命令行中执行以下命令可以安装 `jieba` : ``` pip install jieba ``` 安装完成后,我们可以使用 `jieba` 来进行中文分词,并统计每个角色出现的次数。代码如下: ```python import jieba # 读取文本文件 with open('hongloumeng.txt', 'r', encoding='utf-8') as f: content = f.read() # 对文本进行分词 words = jieba.lcut(content) # 统计每个角色出现的次数 character_counts = {} for word in words: if word.startswith('(') and word.endswith(')'): character_counts[word] = character_counts.get(word, 0) + 1 # 对角色出现次数进行排序 top_characters = sorted(character_counts.items(), key=lambda x: x[1], reverse=True)[:15] # 输出十五名角色的名称和出现次数 print('红楼梦出场角色十五名:') for i, (character, count) in enumerate(top_characters): print('{}、{},出现次数:{}'.format(i + 1, character[1:-1], count)) ``` 上述代码中,我们首先使用 `jieba.lcut()` 函数对文本进行分词,然后使用字典统计每个角色出现的次数。注意,这里我们使用了 `startswith()` 和 `endswith()` 函数来判断一个词是否以中文括号开头和结尾,以此来识别角色名称。 最后,我们使用 `sorted()` 函数对角色出现次数进行排序,并输出十五名角色的名称和出现次数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值