用Python实现小说中的汉字频率统计
环境:
Python 3的代码,亲测可用。
思路:
是先把每个字符提出来放在列表里;再过滤掉其中的标点符号;最后用字典对某个字出现的频率进行累加。
扩展:
用处很多,稍微改改,既可以用来统计小说或文章,也可以用来决定让孩子学哪些常用字,还可以用来分析微博或朋友圈中好友的语言特点,需要的就拿去浪吧,记得送我一个滑稽的回复。
#coding:utf-8 word_lst = []
word_dict = {} exclude_str = ",。!?、()【】<>《》=:+-*—“”…" with open("芳华.txt","r") as fileIn ,open("芳华字频.txt",'w') as fileOut: # 添加每一个字到列表中
for line in fileIn:
for char in line:
word_lst.append(char) # 用字典统计每个字出现的个数
for char in word_lst:
if char not in exclude_str:
if char.strip() not in word_dict: # strip去除各种空白
word_dict[char] = 1
else :
word_dict[char] += 1 # 排序
# x[1]是按字频排序,x[0]则是按字排序
lstWords = sorted(word_dict.items(), key=lambda x:x[1], reverse=True) # 输出结果 (前100)
print ('字符\t字频')
print ('=============')
for e in lstWords[:100]:
print ('%s\t%d' % e)
fileOut.write('%s, %d\n' % e)
输出结果:
字符 字频
=============
的 3641
一 1834
了 1748
是 1506
不 1267
我 1229
她 1156
他 985
小 962
个 921
人 866
在 853
刘 745
丁 728
那 723
上 705
来 698
峰 691
们 684
就 667
说 577
有 572
到 564
这 562
里 537
儿 520
嫚 499
子 494
都 492
着 491
大 482
么 462
出 460
看 441
也 415
得 404
下 383
时 367
还 366
女 349
地 340
头 331
好 327
没 326
去 321
过 320
老 317
跟 311
你 309
把 307
对 303
年 301
会 300
生 291
为 289
发 289
要 281
何 280
亲 273
后 272
给 267
和 266
天 265
家 259
手 251
长 251
想 249
多 242
自 241
开 240
当 236
兵 235
样 232
郝 230
可 228
起 225
被 224
成 216
十 215
什 215
以 209
事 209
从 209
点 208
能 203
两 203
回 202
门 201
所 195
淑 188
雯 188
只 188
心 184
身 184
让 179
道 179
母 174
做 173
话 173
最 172
>>>
主人公的名字排名靠前,嗯,合情合理。
用Python实现小说中的汉字频率统计的更多相关文章
- 用Python实现《芳华》小说中的汉字频率统计
环境: Python 3的代码,亲测可用. 思路: 是先把每个字符提出来放在列表里:再过滤掉其中的标点符号:最后用字典对某个字出现的频率进行累加. 扩展: 用处很多,稍微改改,既可以用来统计小说或文 ...
- python 将windows字体中的汉字生成图片的方法
#encoding: utf-8import osimport pygame chinese_dir = '黑体常规'if not os.path.exists(chinese_dir): os.mk ...
- 在众多小说中,Python告诉你哪本小说好看
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 有趣的Python PS:如有需要Python学习资料的小伙伴可以 ...
- python爬虫之小说网站--下载小说(正则表达式)
python爬虫之小说网站--下载小说(正则表达式) 思路: 1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/244 ...
- Python抓取小说
Python抓取小说 前言 这个脚本命令MAC在抓取小说写,使用Python它有几个码. 代码 # coding=utf-8 import re import urllib2 import chard ...
- python实例:利用jieba库,分析统计金庸名著《倚天屠龙记》中人物名出现次数并排序
本实例主要用到python的jieba库 首先当然是安装pip install jieba 这里比较关键的是如下几个步骤: 加载文本,分析文本 txt=open("C:\\Users\\Be ...
- Python:Python2和3不同print汉字方式
Python3: 可以直接通过print('你好')输出 Python2: 需在开头加#encoding=UTF-8 不过之前输出的时候即使加了开头一行,也是一些混乱的汉字,一看就知道编码错误,后来我 ...
- [zz]如何在C语言程序中处理汉字
学习过C语言的人也许有时会遇到这样一个问题:如何用变量存储汉字以及对这些变量进行操作.目前许多C语言参考书中都没涉及到这个问题,程序中多为处理英文变量和英文字符串,涉及到汉字的情况也大都是在print ...
- 如何使用Python在Kaggle竞赛中成为Top15
如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...
随机推荐
- 042 Trapping Rain Water 接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算下雨之后能接多少雨水.例如,输入 [0,1,0,2,1,0,1,3,2,1,2,1],返回 6. 详见:https://leetcode.c ...
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">报错
https://blog.csdn.net/qq_36611526/article/details/79067159 今天遇到个问题 文件内引入某个资源 pom.xml头部http://maven.a ...
- 远程调试工具weinre使用教程
一:前言 我们都知道,chrome的开发者工具(f12)是一个方便我们调试PC页面的工具.但是现在我们的开发离不开移动端,那如果我们需要对手机页面进行调试,那该怎么办了? 当然,chrome的开发者工 ...
- Java编码优化
Java编码优化 1.尽可能使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变 量,如静态变量.实例变量等,都在堆中创建,速度较慢.另外,栈中创建的变量,随 着方 ...
- CentOS7.5 搭建mycat1.6.6
1.环境及版本 操作系统: CentOS 7.5 数据库:MySQL 5.7.23 jdk:1.8.0_191 mycat:1.6.6.1 cat /etc/centos-release mysq ...
- TestNG ABC
TestNG ABC 资源 官网 :http://testng.org/doc/index.html Maven示例 <dependency> <groupI ...
- Log4j输出格式log4j的PatternLayout参数含义
摘自:http://logging.apache.org/log4j/docs/api/org/apache/log4j/PatternLayout.html 参数 说明 例子 %c 列出logger ...
- Vue.js之vue-router路由
vue学习的一系列,全部来自于表哥---表严肃,是我遇到过的讲课最通透,英文发音最好听的老师,想一起听课就去这里吧 https://biaoyansu.com/i/hzhj1206 1概述 vue-r ...
- There is much opportunity for anyone willing to dedicate himself to his labors.
There is much opportunity for anyone willing to dedicate himself to his labors.付出努力的人才有机会出人头地.
- 如何使用markdown编辑器编写文章
1 设置markdown编辑器为默认编辑器 进入我的博客,点击管理 点击选项,勾选markdown编辑器即可 2 markdown 语法 注意,文章中的# - 1. > 只有在段落开头且符号后需 ...