组合数据类型之集合类型
集合的定义 集合是多个元素的无序组合
- 集合类型与数学中集合的概念一致
- 集合元素之间无序,每个元素唯一,不存在相同元素
- 集合元素不可更改,不能是可变数据类型
- 集合用{}表示,元素间用逗号分割
- 建立集合类型用{}或set()
- 建立空集合类型必须用set()
集合间的操作
集合操作符
6个操作符
- 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的包含关系
4个增强操作符
- S|=T 并,更新集合S,包括在集合S和T中的所有元素
- S-=T,差,更新集合S,包括在集合S但不在T中的元素
- S&=T,交,更新集合S,包括同时在集合S和·T中的元素
- S^=T,补,更新集合S,包括在集合S和T中的非相同元素
集合处理方法
| 操作函数或方法 | 描述 |
| 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 | 判断S中元素X,X在集合S中,返回True,否则返回False |
| X not in S | 判断S中元素X,X不在集合S中,返回True,否则返回False |
| set(X) | 将其他类型变量X转变为集合类型 |
集合类型应用场景
1.包含关系比较
"p" in {"p","y",123}
2.数据去重
Is =["p","p","y","y",123] s = set(Is)#利用了集合无重复元素特点 It = list(s)

浙公网安备 33010602011771号