集合类型的定义
集合类型与数据中的集合概念一致,每个元素唯一,不存在相同元素,且集合是无序的
集合元素不可更改,不能是可变数据类型
集合用{}表示,元素间用逗号分隔
建立集合类型用{}或者set(),建立空集合类型,必须使用set()
集合操作符
交&并|补^差- 均为两个集合操作,且返回新集合
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
S&=T S&T的结果更新到S
S^=T S^T的结果更新到S
集合处理方法
S.add(x) 集合增加元素x
S.discard(x) 去除元素x,若没有x,不报错
S.remove(x) 去除元素x,若没有x,则报KeyError异常
S.clear 清除S
S.pop 随机返回一个元素,并更新S,若S空则报KeyError异常
S.copy 复制n次x字符串
len(S) S元素个数
X IN S 返回True/False(包含关系比较)
X NOT IN S 返回True/False
set(x) 转换为复合类型(去重)
集合类型应用场景
包含关系比较和数据去重
代码示例:
#定义集合
jh1={'python01','python02',(123,458)}
jh2=set()
jh3=set('iamlearing')
print(jh1)
print(jh2)
print(jh3)
#集合操作
s=jh1|jh3
print(s)
print(s>=jh1)
#s.discard('a')
#s.remove('a')
#s.clear()
#s.pop()
#集合处理
s.add('this is add')
print(len(s))
print('m' in s)
#集合应用场景--包含关系比较
#集合应用场景--去重
#集合处理--List转集合
list1=[1,2,3,1,1,1]
listset=set(list1)
print(list1)
print(listset)