python学习 第十一个程序 汉语文本词频统计

# CalThreeKingdoms.pyimport jieba

‘‘‘安装第三方库 中文分词jieba    pip install jieba统计三国演义中出现次数最多的人‘‘‘

txt = open("threekingdoms.txt", "rt", encoding="utf-8").read()# 排除出现频率较高的非人名exclude = ["却说", "二人", "不可", "荆州", "不能", "如此", "将军", "商议",           "如何", "主公", "军士", "左右", "军马", "引兵", "次日", "大喜",           "天下", "东吴", "于是", "今日", "不敢", "魏兵", "陛下", "一人",           "都督", "人马", "不知", "汉中", "只见", "众将", "后主", "上马",           "大叫", "蜀兵", "太守", "此人", "夫人", "先主", "后人", "背后",           "城中", "天子", "一面", "何不", "大军", "忽报", "先生", "百姓",           "何故", "然后", "先锋", "不如", "赶来"]words = jieba.lcut(txt)counts = {}for word in words:    if len(word) == 1 or word in exclude:        continue    elif word in ["丞相"]:        word = "曹操"    elif word in ["玄德", "玄德曰"]:        word = "刘备"    elif word in ["孔明", "孔明曰"]:        word = "诸葛亮"    elif word in ["关公", "云长"]:        word = "关羽"    counts[word] = counts.get(word, 0) + 1counts = list(counts.items())counts.sort(key=lambda x: x[1], reverse=True)for i in range(15):    word, count = counts[i]    print("{:<10}: {:>10}".format(word, count))

原文地址:https://www.cnblogs.com/wumingoo1/p/10324180.html

时间: 2024-08-30 09:29:07

python学习 第十一个程序 汉语文本词频统计的相关文章

文本词频统计

本例是数组.字典.列表.jieba(第三方库)的综合应用,我们将对三国演义中出现次数前十的任务进行排名并统计出出现的次数. 程序1: #CalThreeKingdomsV1.pyimport jiebatxt = open("threekingdoms.txt", "r", encoding="utf-8").read()words = jieba.lcut(txt) #利用jieba函数进行分词并返回列表类型counts = {} #创建一个字

python学习笔记(十一)-python程序目录工程化

在一个程序当中,一般都会包含文件夹:bin.conf.lib.data.logs,以及readme文件. 所写程序存放到各自的文件夹中,如何进行串联? 首先,通过导入文件导入模块方式,引用其他人写好的代码. 其次,找到最顶层的程序所在文件夹,加入到环境变量中 import sys,os BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(file))) #取到工程目录 sys.path.insert(0,BASE_PATH)#加

python学习四十一天(线程)

今日主要内容: 线程的概念和简单应用 线程概念的引入背景 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程是程序的一次执行活动,属于动态概念.在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行.这是这样的设计,大大提高了CPU的利用率.进程的出现让每个用户感觉到自己独享CPU,因此,进程就是

我的python学习--第十一天

上午: 作业讲解 bootstrap-multiselect插件 sweetalert插件 下午: datatables----表格插件 datetimepicker----时间插件 Validform----表单验证插件 锁定用户禁止登录----逻辑端对用户状态判断 更优雅的显示仪表盘----使用jinja2模板{%if ...%}在前端判断 密码加密 包结构 总结 插件调用步骤: 下载插件包 在html页面中引入下载好的插件文件(css,js) 具体操作----查看官方文档 一.bootst

据廖雪峰python3教程----python学习第十一天

sorted 排序算法 Python的内置sorted()函数可以对list进行排序: >>> sorted([1,10,2,5,42,6]) [1, 2, 5, 6, 10, 42] 此外,sorted()函数也是一个高阶函数,他还可以接受一个key函数来实现自定义的排序,例如按绝对值大小排序: >>> sorted([36,5,-12,9,-21],key=abs) [5, 9, -12, -21, 36] key指定的函数将作用于list的每一个元素上,并根据ke

python 学习第十一课 上下文管理 paramiko 堡垒机 mysql操作

Rlock 与 Lock 这两种琐的主要区别是:RLock允许在同一线程中被多次acquire.而Lock却不允许这种情况.注意:如果使用RLock,那么acquire和release必须成对出现,即调用了n次acquire,必须调用n次的release才能真正释放所占用的琐 >>> help(threading.RLock) RLock(*args, **kwargs) Factory function that returns a new reentrant lock. A reen

我的python学习--第十一天(二)

CMDB中表关联 一.jinja2方法 前端html代码: <div class="form-group">               <label for="idc_id" class="col-sm-3 control-label">所在机房ID</label>     <div class="col-sm-8">               <select id='

python学习(十一) 文件和流

11.1 打开文件 >>> f = open(r'c:\text\somefile.txt'),  第一个参数是文件名,必须有:第二个是模式:第三个参数是缓冲. 11.1.1 文件模式 如果open函数只带一个文件名参数,那么我们可以获得能读取文件内容的文件对象.如果要向文件内写入内容,则必须提供一个模式参数 'r' -----读模式(制定读模式与不制定的效果是一样的) 'w'-----写模式 'a'-----追加模式 'b'-----二进制模式(python假定处理的都是文本文件(包含

Python学习杂记_8_从程序外部传参的办法sys.argv

Python用 sys.argv[] 实现从程序外部传参 sys.argv 返回的是一个元组,元组的首个元素是程序本身,第二个元素之后依次是我们通过输入来指定的各个参数.即是元组,就说明这些参数是有序且不可变的,当然可以用下标来引用这个元组的每个元素,也就是你输入的各个参数,来实现参数的传递."外部"的含义,其实就是这些参数不是你在程序中定义的,而是在程序之外传递进来的. 举个栗子: ''' 写一个修改文件的程序,要求传入一个文件名,再传入一个被修改的字符串,再传入一个要修改成什么的字