集合
一、什么是集合
- 集合也是Python内置的一个数据类型,可以存储多个元素的容器
- 无序
 - 不允许有重复的元素
 - 可变类型
 - 也是使用{}来表示的 (集合是一种特殊的字典 kv是同一个)eg: s = {1,2,3}
 - 不支持下标访问
 - 不支持切片操作
 
 
二、集合的创建
- 使用{}创建
 
1  | s = {} # 创建的不是空集合,而是空字典  | 
- 使用工厂函数
 
1  | s = set() # 空集合  | 
三、集合的基本操作
1、添加元素
- 基本形式:
s.add(x) - 作用:将元素x添加到集合s中,如果x已经存在,则什么都不做
 
1  | s = set()  | 
- 基本形式:
s.update(iterable) - 作用:使用可迭代对象来更新集合s
 
1  | s.update({3,4})  | 
2、删除元素
- 基本形式:
s.remove(x) - 作用:移除集合s中的x元素,如果元素不存在,则报错
 
1  | s = {1, 2, 3, 4}  | 
- 基本形式: 
s.discard(x) - 作用:移除集合s中的x元素,如果元素不存在,则什么都不做 不报错
 
1  | s = {1, 2, 3, 4}  | 
- 基本形式:
s.pop() - 作用:随机移除并返回一个元素
 
1  | s = {'B','A','T'}  | 
3、清空元素
- 基本形式:
s.clear() - 作用:清空集合中的元素
 
1  | s = {'B','A','T'}  | 
4、判断元素是否存在
- 基本形式:
x in s 或 x not in s 
1  | s = {'B','A','T'}  | 
5、拷贝集合
- 基本形式:
s2 = s1.copy() - 作用:拷贝出一个集合 – 浅拷贝
 
1  | s1 = {'B','A','T'}  | 
6、子集和超集
1  | s1 = {1,2}  | 
四、交集、并集、差集…
1  | s1 = {1,2,3}  | 
五、不可变集合
1  | # 关键字: frozenset  |