用jiebao库统计小说中人物出场次数前五的名字
时间: 2023-10-30 13:04:42 浏览: 32
假设小说的文本已经读入一个字符串变量`text`中,可以使用jieba库进行分词和统计,代码如下所示:
```python
import jieba
from collections import Counter
# 分词
words = jieba.cut(text)
# 统计人物出现次数
name_counts = Counter()
for word in words:
# 假设人名都是两个及以上汉字组成
if len(word) >= 2:
name_counts[word] += 1
# 取出出现次数最多的前五个人名
top_names = name_counts.most_common(5)
# 输出结果
for name, count in top_names:
print(name, count)
```
解释一下上面的代码:
1. 首先,使用`jieba.cut`方法对小说文本进行分词,得到一个可迭代的分词器`words`。
2. 然后,定义一个计数器`name_counts`,对分词器中的词语进行遍历,如果某个词语长度大于等于2,则可能是一个人名,将其加入计数器中。
3. 最后,使用Counter类的`most_common`方法,取出出现次数最多的前5个人名,并将它们打印输出。
需要注意的是,这种方法只是一种简单的统计方法,如果小说中人名有别名、同音字等问题,可能会有一定误差。
相关问题
else if (ACTION XBH HIDE NAV BAR.equals(action) ACTION JIEBAO HIDE NAV BAR.equals(action))boolean bHideBar = intent.getBooleanExtra( "hide",false);final String HIDE NAVIGATION BAR = "android.intent.action.XBH HIDENAVIGATION BAR"final String SHOW NAVIGATION BAR = "android.intent.action.XBH SHOW NAVIGATION BAR"; Log.d(TAG,"ACTION XBH HIDE STATUS BAR = " + bHideBar); if (bHideBar) Intent intentHideBar = new Intent(HIDE NAVIGATION BAR);")SystemProperties . set("persist.sys .hidenav",mContext.sendBroadcast(intentHideBar);else Intent intentshowBar = new Intent(SHOW NAVIGATION BAR);Systemproperties.set("persist.sys.hidenav","1"); mContext.sendBroadcast(intentshowBar); 这段代码是什么意思
这段代码是在 Android 平台上通过发送广播来隐藏或显示导航栏(NavigationBar)的功能。
首先,通过判断 `action` 的值,判断要执行隐藏导航栏还是显示导航栏的操作。
如果 `action` 的值是 "ACTION_XBH_HIDE_NAV_BAR" 或 "ACTION_JIEBAO_HIDE_NAV_BAR",则执行以下操作:
- 从 Intent 中获取一个名为 "hide" 的布尔型参数的值,如果没有获取到,则默认为 false。
- 根据获取到的布尔值判断是否隐藏导航栏。
- 在日志中输出隐藏导航栏的操作结果。
如果 `bHideBar` 的值为 true,表示要隐藏导航栏,则执行以下操作:
- 创建一个 Intent 对象,并设置其 action 为 "android.intent.action.XBH_HIDENAVIGATION_BAR"。
- 使用 SystemProperties 类的 set() 方法将系统属性 "persist.sys.hidenav" 的值设置为 mContext 的值。
- 发送广播,将隐藏导航栏的意图广播出去。
如果 `bHideBar` 的值为 false,表示要显示导航栏,则执行以下操作:
- 创建一个 Intent 对象,并设置其 action 为 "android.intent.action.XBH_SHOW_NAVIGATION_BAR"。
- 使用 SystemProperties 类的 set() 方法将系统属性 "persist.sys.hidenav" 的值设置为 "1"。
- 发送广播,将显示导航栏的意图广播出去。
总的来说,这段代码的作用是根据接收到的广播 action 值来判断是否隐藏或显示导航栏,并通过设置系统属性和发送广播来实现相应的操作。
如果你有更多问题或需要进一步解释,请随时提问。