
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.4 set
set(集合)可以被看成没有“值”的dict,即只有“键”,没有“值”。set通常用于检查某个“键”是否在集合中。
3.4.1 set的定义

与dict类似,set也是用花括号定义的,不过只有“键”,没有“值”。有一点值得注意,如果声明一个空集合,就必须用到“set()”,这是因为“{}”表示空dict。
3.4.2 set插入数据

通过add方法新增集合中的数据。从上述例子中可以看到,就算“add”多次同样的数据,集合中也不会多次出现这些数据,因为集合中存储的数据都是去重后的。
3.4.3 set删除数据

remove方法的作用是删除集合中的数据。如果要删除的数据不在集合中,就会报错。
3.4.4 set的常用方法

set同样可以用“in”关键字判断集合中是否有某个元素,set也可以用len函数获取当前集合的长度。
3.4.5 set运算
想必大家在中学数学课中学习过集合。集合的几个常用运算包括交集、并集和子集等。

“a & b”求a和b的交集。

“a | b”求a和b的并集。

“a.issubset(b)”判断a是否是b的子集。

“b.issubset(a)”判断b是否是a的子集。

“b - a”求b和a的差集。