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

2023-05-16

 

统计中文词语出现的次数

  • 以政府一号文件为例,统计出现的中文词语数量
  • 按照一定标准输出,如出现次数等
  • 需要解决中文分词问题,如:这是一门好课 ->这是  一门  好课 
  • 输入: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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 入门 第三讲 读取中文分析 的相关文章

随机推荐

  • scp命令

    1 ssh p 22 username 64 ip 远程登录 ssh p 22 username 64 172 16 140 1 2 把本地当前目录下的01 py文件 复制到 远程家目录下 的桌面01 py scp P port 01 py
  • Ubuntu报错,无法获取锁 E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily...

    解决方法 最后使用了最暴力的解决办法 xff0c 直接删除这个锁的文件 xff1a sudo rm var lib dpkg lock frontend sudo rm var lib dpkg lock Ubuntu报错 xff0c 无法
  • 5 个越早知道越好的 Python 特性

    https mbd baidu com newspage data landingsuper context 61 7B 22nid 22 3A 22news 9039746731433820646 22 7D amp n type 61
  • 使用if语句处理列表(python从入门到精通课后习题)

    79 80页课后习题 5 8 以特殊方式跟管理员打招呼 xff1a 创建一个至少包含 5 个用户名的列表 xff0c 且其中一 个用户名为 39 admin 39 想象你要编写代码 xff0c 在每位用户登录网站后都打印一条问候消息 遍历用
  • 拷贝来一篇鸡血,且干了这杯酒~~真香

    1 技术的提升仅是量的积累 xff0c 思想的提升才是质的飞跃 xff01 老男孩 2 智慧源于多角度视野 xff0c 能力在于有多种选择 老男孩 3 基础不牢 xff0c 地动山摇 xff01 老男孩 4 相信可能你就无限接近可能 xff
  • C++11和c++14 新特性

    https www jianshu com p b8a36ff7ac27 1 nullptr nullptr 出现的目的是为了替代 NULL 传统 C 43 43 会把 NULL 0 视为同一种东西 nullptr 关键字 xff0c 专门
  • c++11并发与多线程(第一讲)

    一 xff1a 并发 进程的基本概念 并发 xff0c 线程进程要求必须掌握 1 1 并发 两个或者更多任务 xff08 独立的活动 xff09 同时发生 xff08 进行 xff09 xff1a 一个程序同时执行多个独立的任务 以前计算机
  • c++11并发与多线程(第二讲)

    范例演示线程运行的开始和结束 程序运行起来 xff0c 生成一个进程 xff0c 该进程所属的主线程开始自动运行 xff1b 实际上是主线程执行 xff0c 主线程从mian函数开始执行 xff0c 函数返回则线程执行结束 include
  • c++11多线程编程(第三讲)

    include lt iostream gt include lt thread gt include lt string gt using namespace std 自己创建一个线程 xff0c 也需要从一个函数开始运行 xff1b v
  • Prometheus 到底 NB 在哪里?- 每天5分钟玩转 Docker 容器技术(84)

    本节讨论 Prometheus 的核心 xff0c 多维数据模型 我们先来看一个例子 比如要监控容器 span style background color rgb 216 216 216 webapp1 span 的内存使用情况 xff0
  • 解读人生的四种汉堡模型

    解读人生的四种汉堡模型 自然界给了每一个人幸福的机会 xff0c 人们都知道 xff0c 却不知如何得到它 克劳狄 年度最重要的壁球赛就要临近了 我每天的训练已经极度艰苦 xff0c 同时还要严格控制饮食 尽管我的饮食习惯已经相当健康 xf
  • 进程间通信———共享内存的原理

    这篇写的不错给出链接 https blog csdn net ljianhui article details 10253345 下图是两个进程间使用共享内存通信的示意图 xff1a 进程A和进程B在操作系统os中都有自己的虚拟内存空间 这
  • linux进程间通信-共享内存

    linux进程间通信 共享内存 一 共享内存介绍 共享内存可以从字面上去理解 xff0c 就把一片逻辑内存共享出来 xff0c 让不同的进程去访问它 xff0c 修改它 共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式
  • Linux ipcs命令与ipcrm命令的用法详解

    以下是对Linux中的ipcs命令与ipcrm命令的用法进行了介绍 xff0c 需要的朋友可以过来参考下 是linux uinx上提供关于一些进程间通信方式的信息 xff0c 包括共享内存 xff0c 消息队列 xff0c 信号 ipcs用
  • c++11多线程编程 condition_variable wait notify_one notify_all 第八讲

    1 条件变量std condition variable wait notify one notify all wait 用来等一个东西 1 如果第二个参数返回值是true xff0c 那么这一行就继续往下运行 2 如果第二个参数返回值是f
  • c++11多线程 async、future、packaged_task、promise 第九讲

    1 std async std future创建后台任务并返回 2 std packaged task 3 std promise 4 小结 一 std async std future创建后台任务并返回 希望线程返回一个结果 xff1b
  • c++11多线程 windows临界区、其他各种mutex互斥量 第十二讲

    1 windows临界区 2 多次进入临界区实验 3 自动析构技术 4 recursive mutex递归的独占互斥量 5 带超时的互斥量std timed mutex和std recursive timed mutex include l
  • python 入门 第一讲 9种数据类型

    python语言简洁 计算1 100的整数和 result 61 0 for in range 1 100 result 43 61 i print s 计算并输出n xff01 def fact n if n 61 61 1 return
  • python 入门 第二讲 读取日志文件分析

    https www bilibili com video av77410524 p 61 29 计算传感器日志文件中温度数据的平均值 日志文件包含1万条数据温度数据在文件的第3列输入 xff1a 日志文件 sensor data txt输出
  • python 入门 第三讲 读取中文分析

    统计中文词语出现的次数 以政府一号文件为例 xff0c 统计出现的中文词语数量按照一定标准输出 xff0c 如出现次数等需要解决中文分词问题 xff0c 如 xff1a 这是一门好课 gt 这是 一门 好课 输入 xff1a 2018年一号