Python系列~字段类型以及jieba库的使用

2021-01-11 14:18:33 浏览数 (1)

真诚是为人处世的基础。无论表达关切的一方,还是被关注的一方,只有你情我愿,才能互惠互利。

——《人性的弱点》

字段类型是组合数据最后的衍生类型了,关于Python就只有最后的文件内容啦,后面小编会写什么呢?可能是虚拟化,爬虫或者Python可视化等等(2021即将揭晓)...

有时候,我觉得迷茫才是年轻人的常态吧,毕竟,知道了今后的路该如何走,那该多无趣啊。

总目录:

  1. 字典类型定义
  2. 字典处理函数及方法
  3. 字典类型应用场景
  4. jieba库的使用

一.字典类型定义

在讲字典类型之前,需要先理解“映射”——一种键(索引)和值(数据)的对应。在之前的序列中,其序列类型由0...N整数作为数据的默认索引,而映射类型则由用户为数据定义索引,实际上,字典类型也是映射的一种体现。

在字典类型中,查找数据需要通过键值对来进行数据索引的扩展,字典类型也是键值对的集合 ,键值对之间是没有顺序的。

使用:在Python中采用大括号{}和dict()创建,键帽对用冒号:表示。

比如:{<键1>:<值1>,<键2>:<值2>...}

在字典变量中,通过“[]”索引的形式来获得字典中的值,也可以对字典中的值或者键值对进行增加,并且在字典变量中,数据值的获得必须通过键。如:

代码语言:javascript复制
<字典变量>={<键1>:<值1>,...}
<值>=<字典变量>[<键>]   <字典变量>[<键>]=<值>

To:[]用来向字典变量中索引或增加元素。

实例:

代码语言:javascript复制
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
print(d["中国"])

空字典用{}生成,如:

代码语言:javascript复制
d1={}
print(type(d1))#type(x);返回变量x的类型

二.字典处理函数及方法

del d[k]:删除字典d中k对应的数据值。

k in d:判断键k是否在字典d中,如果在返回True,否则返回False。

d.keys(): 返回字典d中所有的键信息。

d.values():返回字典d中所有的值信息。#切记keys和values返回的并不是列表类型,而是返回的是字典类型的key或values。

d.items():返回字典d中所有的键值对信息。

代码语言:javascript复制
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
print("中国" in d)
print(d.keys())
print(d.values())

d.get(k,<default>) :键k存在,则返回相应值,不在则返回<default>值。

d.pop(k,<default>):键k存在,则取出(即删除)相应值,不在则返回<default>。

d.popitem():随机从字典d中取出一个键值对,以元组形式返回d.clear() 删除所有的键值对 len(d) 返回字典d中元素的个数。

代码语言:javascript复制
d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.get("中国","伊斯兰堡"))
print(d.get("巴基斯坦","伊斯兰堡"))
print(d.popitem())

三.字典类型应用场景

前面了解过字典类型是映射的一种衍生形式,所以字典类型应用最多的场景便是用一组恰当的关系来表达一组数据,进而更好的操作它们。

四.jieba库的使用

简要介绍:jieba是非常优秀的中文分词第三方库。

我们知道中文文本之间每个汉字是连续书写的,即我们需要通过特定的手段 来获得中文语句之间的每个单词,这种手段就叫分词

关于第三方库的安装小编会在下一次文章中写到。

利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成分词结果,当然,用户也可以自己添加自定义的词组。

jieba分词的使用共有三种模式:

精确模式,全模式和搜索引擎模式。

精确模式:精确的把一段文本精确的切分成若干个中文单词,若干个中文单词组合,就精确的还原为之前的文本,且不存在冗余单词,精确模式也是最常用的分词模式。

全模式:把文本中所有可能的词语都扫描出来,会容易有冗余。

搜索引擎模式:偏向于智能化,将一些长的词语进行再次切分,将长的词语切分成更短的切词词语,进而适合搜索引擎对短词语的索引和搜索。

常用函数:

jieba.lcut(s):精确模式,返回一个列表类型的分词结果#最常用。

代码语言:javascript复制
jieba.lcut("中国是一个伟大的国家")

jieba.lcut(s,cut_all=True):全模式,返回一个列表类型的分词结果,存在冗余

代码语言:javascript复制
jieba.lcut("中国是一个伟大的国家",cut_all=True)

jieba.lcut_for_search(s):搜索引擎模式,返回一个列表类型的分词结果,存在冗余。

代码语言:javascript复制
jieba.lcut_for_search("中国是一个伟大的国家")

jieba.add_word(w):向分词词典增加新词w。

代码语言:javascript复制
jieba.add_word("中文语言")

(Python系列)未完待续...

往期推荐:

来学Python啦,序列类型操作的那些事儿

2020-12-22

来学Python啦,集合类型及其操作

2020-12-17

来学Python啦,Pyinstaller库及科赫雪花小包裹问题分析

2020-12-15

0 人点赞