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类型转换为集合类型
集合类型应用场景
包含关系比较
数据去重:
|
|
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出现的次数
元组类型及操作
元组一旦被创建不能被修改,可以使用小括号也可不使用
|
|
列表类型
列表类型创建后可修改,用[]或list()创建,元素间用逗号分隔,元素类型可以不同,五长度限制。
|
|
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库
中文分词第三方库,安装
|
|
利用一个中文词库,确定汉字之间的关联概率,汉字见概率大的组成词组。
jieba.lcut(s) # 列表类型cut
jieba.lcut(s, cut_all=True) # 全模式
jieba.lcut_for_search(s) # 搜索引擎模式
jieba.add_word(s) # 增加词