Python学习日记day9

组合数据类型

知识点1:集合类型的定义

集合是多个元素的无序组合

集合类型与数学中的集合概念一致

集合元素之间无序,每个元素唯一,不存在相同元素

集合元素不可更改,不能是可变数据类型,如列表元素

集合用大括号{}表示,元素间用逗号分隔

建立集合类型用{}或set()

建立空集合类型,必修使用set()

 

知识点2:集合操作符

S | T  集合并

S - T 集合差

S & T 集合交

S ^ T 集合补,在S中或者在T中,但不同时在S和T中的元素

S <= T 或  S <  T 返回TRUE 或者FALSE ,判断S和T的子集关系

S >= T 或 S > T   返回TRUE 或者FALSE ,判断S和T的包含关系

四个增强操作符, |= ,-=,&=,^= 形如加减乘除的增强操作符

 

知识点3:集合处理方法

S.add(x)   如果x不在集合S中,将x增加到S

S.discard(x) 移除S中的元素x,如果x不在集合S中,不报错

S.remove(x) 移除S中的元素x,如过x不在集合S中,产生KeyError异常

S.clear() 移除S中的所有元素

S.pop() 随机返回S的一个元素,更新S,若S为空产生KeyError异常

S.copy() 返回集合S的一个副本

len(S) 返回集合S的元素个数

x in S 判断元素x是否在S中,是返回TRUE,否则返回FALSE

x not in S 判断元素x是否在S中,是返回FALSE,否则返回TRUE

set(x) 将其他类型变量x转变为集合类型

 

注:一个集合定义之后,程序内部存在有保存集合的顺序

集合的重要用法:数据去重(利用集合元素的唯一性)

 

知识点4:序列类型

序列是具有先后关系的一组元素

序列是一维元素向量,元素类型可以不同

类似数学元素序列:S0,S1,...,Sn-1

元素间由序号引导,通过下表访问序列的特定元素

序列类型是基类

 

知识点5:序列类型通用操作符

x in S  如果x是序列S的元素,返回TRUE,否则返回FALSE

x not in S  如果x是序列S的元素,返回FALSE,否则返回TRUE

S + T  连接两个序列S和T

S*n或n*S 将序列S复制n次

S[i] 索引,返回S中的第i个元素,i是序列的序号。从左到右序列下标从0开始递增

S[i:j]或S[i:j:k]切片,返回序列S中第i到j以k为步长的元素子序列

 

知识点6:序列类型通用函数和方法

len(S) 返回序列S的长度

min(S) 返回序列S的最小元素,S中元素需要可以比较

max(S) 返回序列S的最大元素,S中元素需要可以比较

s.index(x)或s.index(x,i,j) 返回序列S从i开始到j位置第一次出现元素x的位置

s.count(x) 返回序列S中出现x的总次数

 

知识点7:元组类型

元组是序列类型的一种扩展

元组是一种序列类型,一旦创建就不能被修改

使用小括号()或tuple()创建,元素间用逗号,分隔

可以使用或不适用小括号

元组继承了序列类型的全部通用操作

元组因为创建后不能修改,因此没有特殊操作

 

知识点8:列表类型

列表是序列类型的一种扩展,十分常用

列表是一种序列类型,创建后可以随意被修改

使用方括[]或者list()创建,元素间用逗号,分隔,

可以使用或不使用小括号

将一个列表赋值给另一个列表,系统并没有新创建一个列表,而是两个名字指向同一个列表

 

知识点9:列表类型操作函数和方法

ls[i] = x 替换列表ls第i元素为x

ls[i:j:k] =lt 用列表lt替换ls切片对应元素子列表

del ls[i] 删除列表ls中第i元素

del ls[i:j:k] 删除列表ls中第i元素

ls  += lt 更新列表ls,将列表lt元素增加到列表ls中

ls *= n 更新列表ls,其元素重复n次

ls.append(x)  在列表ls最后增加一个元素x

ls.clear() 删除列表ls中所有元素

ls.copy() 生成一个新列表,赋值ls中所有元素

ls.insert(i,x) 在列表ls的第i位置增加元素x

ls.pop(i) 将列表ls中第i位置元素取出并删除该元素

ls.remove(x) 将列表ls中出现的第一个元素x删除

ls.reverse() 将列表ls中的元素反转

 

知识点10:字典类型

字典类型是“映射”的体现

键值对:键是数据索引的拓展

字典是键值对的集合,键值对之间无序

采用大括号{}和dict()创建,键值对用冒号:表示

{<键1>:<值1>,<键2>:<值2>...,<键n>:<值n>}

d[key] 方式既可以索引,也可以赋值

空的大括号表示为字典类型而不是集合类型

 

知识点11:字典类型操作函数和方法

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

k in d 判断键k 是否在字典d 中,如果在返回TRUE,否则返回FALSE

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

d.values() 返回字典d中所有的值信息

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

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

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

d.popitem() 随机从字典d中取出一个键值对,以元组形式返回

d.clear() 删除所有的键值对

len(d) 返回字典d中元素的个数

 

知识点12:jieba库

中文文本需要通过分词获得单个的词语

jieba是优秀的中文分词第三方库,需要额外安装

jieba库提供三种分词模式,最简单只需掌握一个函数

利用一个中文词库,确定汉字之间的关联概率

汉字间概率大的组成词组,形成分词结果

除了分词,用户还可以添加自定义的词组

 

jieba分词的三种分词模式

精确模式 :把文本精确的切分开,不存在冗余单词

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

搜索引擎模式: 在精确模式的基础上,对长词再次切分

 

jieba库常用函数

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

eg:jieba.lcut("中国是一个伟大的国家")

['中国','是','一个','伟大','的','国家']

 

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

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

jieba.add_word(w) 像分词词典增加新词 w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值