环境:

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实现小说中的汉字频率统计的更多相关文章

  1. 用Python实现《芳华》小说中的汉字频率统计

     环境: Python 3的代码,亲测可用. 思路: 是先把每个字符提出来放在列表里:再过滤掉其中的标点符号:最后用字典对某个字出现的频率进行累加. 扩展: 用处很多,稍微改改,既可以用来统计小说或文 ...

  2. python 将windows字体中的汉字生成图片的方法

    #encoding: utf-8import osimport pygame chinese_dir = '黑体常规'if not os.path.exists(chinese_dir): os.mk ...

  3. 在众多小说中,Python告诉你哪本小说好看

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 有趣的Python PS:如有需要Python学习资料的小伙伴可以 ...

  4. python爬虫之小说网站--下载小说(正则表达式)

    python爬虫之小说网站--下载小说(正则表达式) 思路: 1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/244 ...

  5. Python抓取小说

    Python抓取小说 前言 这个脚本命令MAC在抓取小说写,使用Python它有几个码. 代码 # coding=utf-8 import re import urllib2 import chard ...

  6. python实例:利用jieba库,分析统计金庸名著《倚天屠龙记》中人物名出现次数并排序

    本实例主要用到python的jieba库 首先当然是安装pip install jieba 这里比较关键的是如下几个步骤: 加载文本,分析文本 txt=open("C:\\Users\\Be ...

  7. Python:Python2和3不同print汉字方式

    Python3: 可以直接通过print('你好')输出 Python2: 需在开头加#encoding=UTF-8 不过之前输出的时候即使加了开头一行,也是一些混乱的汉字,一看就知道编码错误,后来我 ...

  8. [zz]如何在C语言程序中处理汉字

    学习过C语言的人也许有时会遇到这样一个问题:如何用变量存储汉字以及对这些变量进行操作.目前许多C语言参考书中都没涉及到这个问题,程序中多为处理英文变量和英文字符串,涉及到汉字的情况也大都是在print ...

  9. 如何使用Python在Kaggle竞赛中成为Top15

    如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...

随机推荐

  1. c++11 右值的学习

    从4行代码看右值引用 概述 简单的左值和右值的判断就是  看是否可以取得地址   可取得地址 是左值     不能则  是右值! c++98/03中的左值引用是这样的: int i = 0; int& ...

  2. 线程池ThreadPoolExecutor的学习

    我们知道,ExecutorService是一个抽象出线程池的一个接口,然后我们在使用线程池的时候,用的是Executors工具类中的一系列newCachedThreadPool() 等类似的方法,这些 ...

  3. 048 Rotate Image 旋转图像

    给定一个 n × n 的二维矩阵表示一个图像.将图像旋转 90 度(顺时针).注意:你必须在原矩阵中旋转图像,请不要使用另一个矩阵来旋转图像.例 1:给出的输入矩阵 = [  [1,2,3],  [4 ...

  4. Eclipse - 安装语言包

    Open the install wizard with 'Help' > 'Install new software...' add the Babel p2 repository: http ...

  5. c# 字符串的首字母大写转换 方法

    方法1: s.Substring(0,1).ToUpper()+s.Substring(1);  方法2: s = System.Threading.Thread.CurrentThread.Curr ...

  6. uvm_reg_block——寄存器模型(七)

    这是寄存器模型的顶层 //------------------------------------------------------------------------ // Class: uvm_ ...

  7. Python3+Selenium3+webdriver学习笔记5(模拟常用键盘和鼠标事件)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriverfrom selenium.webdriver.co ...

  8. 用配置文件方式启动mongodb集群

  9. Installing Apache, PHP, and MySQL on Mac OS X

    I have installed Apache, PHP, and MySQL on Mac OS X since Leopard. Each time doing so by hand. Each ...

  10. Ubuntu下安装XAMPP

    来源:http://www.ido321.com/1265.html 最近,我也玩起了Linux了,瞬间觉得自己逼格又上去了,所以,就给笔记本安装了Ubuntu+Win7双系统.当然在Ubuntu下必 ...