6.组合数据类型

1 集合类型及操作

集合类型定义

集合用{}表示,元素之间用逗号分离

集合中间每个元素唯一,不存在相同元素

集合元素之间无序

集合操作符

并运算S|T、交运算S&T、差运算S-T、补运算S^T

关系操作符>,>=,<,<=

增强操作符:S ^= T,修改S

集合处理方法

S.add(x) #增加元素

S.discard(x) #删除元素,元素可以不是集合中的

S.remove(x) #移除元素,必须是在S中的

S.clear() #移除所有元素

S.pop() #随机取出(移除)一个元素,若空返回错误

S.copy()

len(S) #返回S中元素个数

x in S # 判断x是否在S中

x not in S

set(x) #将x类型转换为集合类型

集合类型应用场景

包含关系比较

数据去重:

1
2
3
ls = ['p', 'p', 'y', 'y', '123']
s = set(ls) # 利用了集合无重复元素特点
lt = list(s) # 将集合转换为列表

2 序列类型及其操作

序列:一维元素向量,类型可以不同,由序号引导

衍生:字符串、元组类型、列表类型

序列处理函数及方法

x in s # 判断是否在s内

x not in s

s + t # 连接两个序列

s * n 或 n * s # 将s复制n次

s[i] # 索引

s[i:j]或s[i:j:k] #切片操作,k是步长

取反操作:[::-1]

len(s):返回长度

min(s)

max(s) # 必须是可比较

s.index(x) 或s.index(x, i, j)# 第一个x出现的下标,整个序列或从i到j

s.count(x) # x出现的次数

元组类型及操作

元组一旦被创建不能被修改,可以使用小括号也可不使用

1
return 1, 2

列表类型

列表类型创建后可修改,用[]或list()创建,元素间用逗号分隔,元素类型可以不同,五长度限制。

1
2
3
4
5
6
ls[i] = x
ls[i:j:k] = lt
del ls[i]
del ls[i:j:k]
ls += lt
ls * n

ls.append(x) # 列表末尾增加一个元素x

ls.clear()

ls.copy()

ls.insert(i, x) # 在第i个位置后增加元素x

ls.pop(i) # 取出第i位置元素并删除

ls.remove(x) # 第一个x删除

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

序列类型应用场景

对数据的表达

转换为元组类型:lt = tuple(ls) #无法改变数据

对数据进行遍历

3 字典类型

映射:一种索引和数据之间的对应关系

序列:整合0-N的索引

映射类型:用户自定义的一种数据索引

字典类型是映射类型的体现,使用{}或dict()生成,键与数据之间用冒号隔开。

ex:d = {“中国”:“北京”, “法国”:“巴黎”}

字典类型应用场景

映射无处不在,键值无处不在,统计数据。

d.get(k, ) # 键K存在,则返回相应值,不存在,则返回default。

4 jieba库

中文分词第三方库,安装

1
pip install jieba

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

jieba.lcut(s) # 列表类型cut

jieba.lcut(s, cut_all=True) # 全模式

jieba.lcut_for_search(s) # 搜索引擎模式

jieba.add_word(s) # 增加词

Licensed under CC BY-NC-SA 4.0
© ziyue.tech版权所有
Built with Hugo
主题 OoO落墨灼夭 设计

本站访问量:   您是本站第 位访问者