<组合数据类型>
集合类型
序列类型(字符串,元组,列表)
字典类型
集合类型:集合是多个元素的无序组合
特点:无序,唯一,不可更改
建立集合可以用{}或者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 #返回True或者False,贩毒案包含关系
集合处理方法:
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中,若不在则返回True,否则False
set(x) #将其他类型转换为集合类型
集合的应用场景:
包含关系的比较
数据去重
序列类型:序列是具有先后关系的一组数据
特点:有序,元素类型可以不同,元素间元素有序号引导,可通过下标进行访问
字符串类型
元组类型
列表类型
序列类型通用操作符:
x in s
x not in s
s + t #连接两个序列s和t
s*n 或 n*s #将序列s复制n次
s[i] #索引
s[i:j] 或 s[i:j:k] #切片
序列类型通用函数和方法:
len(s) #返回序列s的长度
min(s) #返回序列s的最小元素,要求元素之间可比较
max(s)
s.index(x)
s.index(x,i,j) #返回序列s从i到j位置第一次出现x的位置
s.count(x) #返回序列s出现x的总次数
字符串(之前已经介绍)
元组:
元组是序列类型的一种扩展,一旦被创建不可修改,并且继承了序列类型的所有通用操作
创建使用小括号()或者tuple(),元素用逗号分隔,可以使用或者不使用小括号
列表:
是一种序列类型,创建后可随意修改
使用[]或者list()创建,用逗号分隔
元素的类型可以不同,长度无限制
列表类型的操作函数和方法:
ls[i]=x #替换第i个元素为x
ls[i:j:k]=lt
del ls[i]
del ls[i:j:k]
ls+=lt
ls*=n #复制n次
ls.append(x) #增加元素x
ls.clear() #删除所有元素
ls.copy() #生成一个新列表,复制ls中所有元素
ls.insert(i,x) #在第i位置插入元素x
ls.pop(i) #将第i位置元素取出并且删除
ls.remove(x) #将第一次出现的x删除
ls.reverse() #将列表反转
字典类型:是“映射”的体现
键值对:键是数据索引的扩展
字典是键值对的集合,键值对之间无序
采用大括号{}和dict()创建,键值对用冒号:表示
<字典变量>={<键1>:<值1>,···,<键2>:<值2>}
<值>=<字典变量>[<键>]
字典处理函数及方法:
del d[k] #删除字典d中键k对应的数据值
k in d #判断键k是否在字典d中,返回True或者False
d.keys() #返回字典d中所有的键信息
d.values() #返回字典d中所有值信息
d.items() #返回字典的所有键值对信息
d.get(k,<default>) #键k存在,则返回相应值,否则返回默认值
d.pop(k,<default>) #键k存在,则取出相应值,否则返回默认值
d.popitem() #随机从字典d中取出一个键值对,以元组形式返回
d.clear() #删除所有键值对
len(d) #返回字典d中的元素个数