集合
集合类型定义
集合就是多个元素的无序组合,在python中集合类型与数学中的集合概念一致,集合元素间具有无序性,互异性,唯一性。集合的元素不可更改并且不能是可变的数据类型。
python中集合用一对大括号{}表示,其中元素间用逗号隔开。建立集合类型用{}或者set(),有一点建立空集合时必须使用set()
集合操作符
操作符 | 描述 |
---|---|
S T | 并集,返回一个新的集合,包括集合S和T中的所有元素 |
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的包含关系 |
如果带等号就是更新集合,例如S|=T,并集,更新集合S,包括在集合S和T中的所有元素。S-=T,S&=T,S^=T也是一样的作用。
集合处理方法
操作函数 | 描述 |
---|---|
S.add(x) | 如果x不在集合S中,就将x增加到S |
S.dicard(x) | 移除S中元素x,如果x不在集合S中,不报错 |
S.remove(x) | 移除S中元素x,如果x不在集合S中,产生KeyError |
S.clear() | 移除S中所有元素 |
S.pop() | 随机返回S |
S.copy() | 返回集合S的一个副本 |
len(S) | 返回集合S的元素个数 |
x in S | 判断S中元素x,x在集合S中,返回True,否则返回False |
x not in S | 判断S中元素x,x不在集合S中,返回True,否则返回False |
set(x) | 将其他类型变量x转换为集合类型 |
集合应用场景
1.包含关系比较
2.数据去重:集合类型所有元素无重复
序列类型及操作
序列类型定义
序列是一个基类类型,包括字符串类型,元组类型,列表类型。
序列是具有先后关系的一组元素,序列是一维元素向量,元素类型可以不同,有点类似与数学中的序列,元素间有序号引导,通过下标访问序列的特定元素。
和字符串的索引一样也分为正向递增序号和反向递减序号。
序列处理函数及方法
操作符 | 描述 |
---|---|
x in s | 如果x是序列s的元素,返回True,否则返回False |
x not in s | 如果x不是序列s的元素,返回True,否则返回False |
s+t | 连接两个序列s和t |
sn或ns | 将序列s复制n次 |
s[i] | 索引,返回s中的第i个元素,i是序列的序号 |
s[i:j:k] | 切片,返回序列s中i到j以k为步长的元素子序列 |
len(s) | 返回序列s的长度,也就是元素个数 |
min(s) | 返回序列s中最小的元素,并且s中的元素可以进行比较 |
max(s) | 返回序列s中最大的元素,并且s中的元素可以进行比较 |
s.index(x,i,j) | 返回序列s从i开始到j位置中第一次出行元素x的位置 |
s.count(x) | 返回序列s中出现x的总次数 |
元组类型及操作
元组是序列的一种扩展,但元组一旦创建就不能被修改了;使用小括号()或者tuple()创建,元素间用逗号隔开,可以使用或者不适用小括号
列表类型及操作
列表也是序列的一种扩展,创建后可以随意被修改,使用方括号[]或者list(),元素间用逗号隔开,列表中各个元素类型可以不同,无长度限制。
函数 | 描述 |
---|---|
ls[i]=x | 替换列表ls第i个元素为x |
ls[i:j:k]=lt | 用列表lt替换ls切片后所对应元素子列表 |
del ls[i] | 删除列表ls中第i个元素 |
del ls[i:j:k] | 删除列表ls中d第i到第j以k为步长的元素 |
ls+=lt | 更新列表ls,将列表lt元素增加到列表ls中 |
ls*=lt | 更新列表ls,其元素重复n次 |
ls.append(x) | 在列表ls最后增加一个元素x |
ls.clear() | 删除列表ls中所有元素 |
ls.copy() | 生成一个新列表 |
ls.insert(i,x) | 在列表ls的第i位置增加元素x |
ls.pop(i) | 将列表ls中第i位置元素取出并删除该元素 |
ls.remove(x) | 将列表ls中出现的第一个元素x删除 |
ls.reverse() | 将列表ls中的元素反转 |
字典类型及操作
字典类型定义
字典可以理解为一种映射,如果还是不知道什么是映射,那么会查字典是不是,用一个数据来查找另外一个我们想查找的数据,这就是字典。也就是key和value也可以叫做映射的键(索引)和值(数据)的对应。键值对,键就是数据索引的扩展;字典是键值对的集合,键值对之间无序,采用大括号{}和dict()创建字典,键值对用冒号表示,键值对之间用逗号隔开。
在字典变量中可以通过键获得值,
字典处理函数及方法
函数 | 描述 |
---|---|
del d[k] | 删除字典d中键k对应的数据值 |
k in d | 判断k是否在字典d中,如果在返回True,否则放回False |
d.keys() | 返回字典中所有键信息 |
d.values() | 返回字典中所有值信息 |
d.items() | 返回字典d中所有的键值对信息 |
d.get(k,) | 键key存在,则返回相应值,不在则返回default的值 |
d.pop(k,) | 键key存在,则取出相应值,不在则返回default的值 |
d.popitem() | 随机从字典d中取出一个键值对,以元组形式返回 |
d.clear() | 删除所有的键值对 |
len(d) | 返回字典d中的元素个数 |