本章介绍了集合,集合最擅长的地方在于它可以排重,求交集并集和补集。
可以使用{} 或者 set()创建集合,创建空集合必须是set(),因为{}是空字典
常用函数与方法
添加元素
- add
1 | A = set('abcd') |
- update
1 | A = set('abcd') |
移除元素
remove
- 元素不存在,则会发生错误。
1
2
3
4A = set('abcd')
A.remove('a')
print(A) # {'c', 'd', 'b'}
A.remove('g') # KeyError: 'g'
discard
- 如果元素不存在,不会发生错误。
1
2
3
4A = set('abcd')
A.discard('a')
A.discard('g')
print(A) # {'c', 'd', 'b'}
pop
- 随机删除集合中的一个元素
1
2
3A = set('abcd')
A.pop()
print(A) # {'d', 'b', 'a'}
计算集合元素个数
- len
1 | A = set('abcd') |
清空集合
- clear
1 | A = set('abcd') |
- del 集合名字
1 | A = set('abcd') |
判断元素是否在集合中存在
- in 与 not in
1 | A = set('abcd') |
将集合变为不可变数据类型
- frozenset
1 | A = set('abcd') |
集合运算 <> & ^ | -
判断子集与超集 < > 或 issubset issuperset
1 | A = set('abcd') |
求交集 & 或 intersection
1 | A = {i for i in range(1,10,2)} |
求反交集 ^ 或者 symmetric_difference
1 | A = {i for i in range(1,10,2)} |
求并集 | 或 union
1 | A = set('abcde') |
求差集 - 或 difference
1 | A = set('abcde') |
练习
- 判断一个字典中是否有这些key: ‘AAA’,’BB’,’C’,’DD’,’EEE’(不使用for while)
1 | 利用集合判断交集 and |