set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交集), difference(差集)和sysmmetric difference(对称差集)等数学运算。sets不支持 indexing。
frozenset是不可变的Set。
- set的形式是{1, 2},有点像字典。
- set.add(1), set.update([3, 4]),都是新增set的元素。
- set.pop(),默认弹出第一个元素。
- set.discard(),删除指定值的元素。
- set_a&set_b,返回共同拥有的元素, set_a-set_b,返回a中去除b的部分。set_a.difference(set_b),就相当于a-b。
- set.union(a,b),返回a和b的并集,也就是set_a |set_b。
- set_a ^ set_b,直接把相同的完全去掉。
- set_a >= set_b,判断set_b是a的子集,反之亦反。
- shallow copy,就是浅层拷贝,使用同一内存地址,一个改变了,另外一个随之改变。
- set.clear()。清空set。