python学习笔记19:集合set
1. 特点:
- set和dict类似,是一组key的集合,但不存储value;
- set中的key不能重复,所以set中没有重复的key值;即可以认为是数学上无序、无重复元素的集合;
2. 常用操作
常用方法
函数名 | 用法 | 说明 |
---|---|---|
union | A.union(B) | 返回A和B的并集, A/B本身不变 |
intersection | A.intersection(B) | 返回A和B的交集, A/B本身不变 |
difference | A.difference(B) | 返回在A中出现, 在B中没出现的item组成的 set, A-(A&B) |
issubset | A.issubset(B) | A是否是B的子集, 返回True/False |
add | A.add(item) | 给A集合添加一个item, 如果已经包含元素item, 则不重复添加 |
update | A.update([item0, item1]) | 给A集合添加多个item. |
remove | A.remove(item) | 给A集合删除item这个元素 |
- 通过list创建set:s = set([1,2,3,4,3]); #重复的3只会留下1个;
- 删除元素:s.remove(4);
- 两个set可以做交集、并集的操作:
>>> s1 = {1, 2, 3} # 一个set
>>> s2 = {2, 3, 4} # 又一个set
>>>
>>> s1 & s2 # {2, 3}, 交集
>>> s1 | s2 # {1, 2, 3, 4}, 并集
>>> s1 - s2 # {1}, 减运算
>>> s1 + s2 # 不支持+运算, 可以使用|运算
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'set' and 'set'
>>>
>>> {1,2,3} < {1, 2, 3, 4} # True, 支持<, <=, >, >=运算