python 入门 第三讲 读取中文分析

 

统计中文词语出现的次数

  • 以政府一号文件为例,统计出现的中文词语数量
  • 按照一定标准输出,如出现次数等
  • 需要解决中文分词问题,如:这是一门好课 ->这是  一门  好课 
  • 输入:2018年一号文件.txt
  • 输出:出现次数超过50次的词语,不包括换行。

 

#WordCount.py
import jieba  #引入外部库
f = open("2018年一号文件.txt","r", encoding="utf-8")   #打开以只读的方式
txt = f.read()  #一次性把文件读入到txt中
f.close()
ls = jieba.lcut(txt)    #中文分词
d = {}
for w in ls:            #词w在ls列表中
    d[w] = d.get(w,0)+1  #建立字典的新元素,并更新value+1
for k in d:
    if d[k] >= 50 and k != "\n":    #字典中词出现次数超过50
        print('"{}"出现{}次'.format(k,d[k]))

 

 python与其他语言相比注意:

  • 每行后面没有分号
  • 没有begin,end,{}等代表代码归属的元素,只用缩进代表代码的所属关系
  • 变量直接使用,无需类型声明
  • import可以引入外部功能库

 

 

 

import的三种用法:

import: 引用功能库的保留字,有三种使用方法

方法一:import <库名>

                          <库名>.<函数名>(<函数参数>)

      或者:

            import  <库名1>  <库名2>

 这样可以直接使用函数名,而不用再写   库名.函数名

如果你的程序中有相同名称的函数,那么代码运行时,起作用的是最后声明的那个函数

如果库名比较长,那么使用别名(库别名.函数名)会比较方便

分词产生的类型为列表类型保存在ls中

jieba是非常优秀的中文分词库

用于对中文文本进行分词操作,产生包含产生词语的列表

jieba是第三方库,需要额外安装

jieba库的安装:

(cmd命令行) pip install jieba

安装成功后会提示Successfully installed jieba

安装idle时,它会自带一个工具pip它能够以联网的方式安装第三方库

第二行是全分词,就是把可能的分词情况全部列举出来,所以存在冗余

最后一行jieba.add_word(w)就是向jieba分词库中添加新的词语,这样它就会

计算生态编程

一、利用python庞大的计算生态提高编程产量

  • 除了python语言外,要掌握一批数量的python库的使用
  • 对于某些“通用问题”,要学会寻找python库
  • http://pypi.org    它是python官方维护的第三方库索引引擎,有超过14万个第三方库

二、围绕python计算生态完成编程功能

  • 结合python计算生态中较重要的框架,完成编程任务
  • 例如:结合python开展深度学习应用
  • 例如:结合Scrapy框架编写爬虫应用

三、构建Python库,丰富Python计算生态

  • 对于新的理解和认识,构建python计算生态
  • 底层可以利用c/c++等语言实现,给与python接口 
#WordCount.py
import jieba as ja #导入jieba中文分词库给别名ja
f = open("file1.txt","r",encoding="utf-8") #打开文件,并给出解码方式
txt = f.read() #
f.close() #关闭文件
ls = ja.lcut(txt)
d={}             #创建了一个空字典,键值对的集合
for w in ls:
    d[w] = d.get(w,0)+1 #建立每个词与出现次数的键值对
	
for k in d:               #将d中的每一个键读出,使用d[k]获得它的值
    if d[k] >= 50 and k != "\n":
	    print('"{}"出现{}次'.format(k,d[k]))  #k是这个词,d[k]是通过字典查到对应的值

字典是映射的结合,体现为键值对的组合
映射是一种(索引)和值(数据)的对应

 

d.get(<键1>,0)   #这一行是在字典中查找键1对于的值,

如果这个键1真实存在就会返回对应的值,

如果没有键1,就会返回第二个参数0。

 

字典操作:增加元素

d = {键1:值1,键2:值2,键3:值3,键4:值4}

d[键n+1] = 值n+1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aFakeProgramer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值