@【python】北京理工大学Python语言程序设计程序组合数据类型【六】
内容
集合类型及操作
序列类型及操作
字典类型及操作
jieba库
集合类型及操作
集合是多个元素的无序组合,每个元素唯一,不存在相同元素。
集合元素不可修改,不可变数据类型。
用{}表示,或用set(),逗号分割
不能用A={}方式生产集合,这是字典类型
A={"python",123}
A=set()
操作符
S|T 并
S-T 除去S中有T的元素
S&T 交
S^T S和T中的非共同元素
S<=T S<T 返回ture或false 判断子集关系
S>=T S>T
增强操作符
S|=T 类似增强运算符
S-=T
S&=T
S^=T
集合的处理方法
S.add(x) add x
S.discard(x) 移除X,如果没有x不报错
S.remove(c) 移除x,如果没有x产生KeyError错误
S.clear() 移除S中所有元素
S.pop() 随机返回S的一个元素,更新S,若S为空产生KeyError错误
S.copy() 返回S的一个副本
len(S) 返回S的元素个数
x in S 判断x是否在S中 ,返回True Flase
x not in S 同上
set(x) 将其他类型变量x变成集合类型
集合类型的应用场景
1.判断包含关系
2.数据去重
ls={"p","p"}
s=set(ls)
{"p"}
lt=list(s)
["p"]
序列类型及操作
序列是具有先后关系的一组元素
序列是一维元素向量,元素类型可以不同
序列是一种基类类型
分为字符串类型 元组类型 列表类型
操作符
x in s
x not in s
s+t
s*n 或者 n*s
s[i]
s[i:j:k]
序列通用函数与方法
len(s)
min(s) 最小元素 ,需要元素可比较,否则报错
max(s)
s.index(x)或者s.index(x,i,j) 从i到j第一次出现x的位置
s.count(x) 返回s中出现x的总次数
元组类型
元组是一种序列类型,一旦创建就不能修改
使用小括号()或tuple()创建,元素间用逗号分隔
在使用时可以使用或不使用小括号
careture="cat","dog"
creature=("1",careture)
creature[::-1] 返回是一个新的元组
列表类型
列表类型是序列类型,但是可以被修改
用方括号[]或者list()创建
注意
ls=[1]
lt=ls
只有用[]才是创建列表,=只是传递作用,ls,lt指向同一个列表
列表类型的操作函数和方法
ls[i]=x
ls[i:j:k]=lt lt填进ls切片后元素
del ls[i]
del ls[i:j:k]
ls+=lt
ls*=n
ls.append(x)
ls.clear()
ls.copy()
ls.insert(i,x)
ls.pop(i) 将列表i位置元素取出并删除该元素
ls.remove(x) 将ls中出现的第一个元素x删除
ls.reverse() 反转
sorted(ls) 排序
序列的应用场景
元组用于元素不改变的应用场景
列表更灵活
字典类型及操作
映射是键(索引)和值(数据)的对应
序列类型由0……N整数作为数据的默认索引
映射类型则由用户为数据定义索引
字典是键值对的集合,键值对间无序
采用大括号{}和dict()创建,键值对用冒号:表示
{<键1>:<值1>.<键2>:<值2>}
在字典变量中,通过键获得值
<字典变量>={<键1>:<值1>,<键2>:<值2>}
<值>=<字典变量>[<键>]
<字典变量>[<键>]=<值>
d={}生产空字典
字典类型操作函数及方法
del d[k] 删除键k对应的数据值
k in d 判断键k是否在字典中
d.keys() 返回所有键 返回是字典的key类型,不能当做列表类型来操作
d.values() 返回所有值
d.items() 返回所有键值对
d.get(k,<default>) 键k存在返回对应值,否则返回defalut值
d.pop(k,<default>) 取出k对应值,否则返回default
d.popitem() 随机取出一个键值对,以元组形式返回
d.clear()
len(d)
字典类型应用场景
元素遍历
jieba库
优秀的中文分词第三方库
jieba库有三种分词方式
利用中文词库,确定汉字之间的关联概率
精确模式 精确分开,不存在冗余单词
全模式 所有可能的词语都扫描出来,有冗余
搜索引擎模式 在精确模式基础上,对长词进行划分
jieba.lcut(s) 精确模式返回列表类型的分词结果
jieba.lcut(s,cut_all=True) 全模式
jieba.lcut_for_search(s)