集合相关的知识点
set称作由不同的元素组成的集合,集合(set)的成员通常称作集合元素。
集合:可变集合与不可变集合。
可变集合:可以添加和删除元素,是不可哈希的,不能作为字典的键以及其他集合的元素。
不可变集合:不能添加和删除元素,有哈希值,能用作字典的键以及集合的一个成员。
集合方法:
len(s): 集合基数:集合s中元素的个数
set([obj]) 可变集合工厂函数,obj必须支持迭代的,由obj中的元素创建集合,否则创建一个空集合
frozenset([obj]) 不可变集合工厂函数,执行方式与set()一样,返回的是一个不可变集合。
s.issubset(t) : s <= t 子集测试: s中的所有的元素都是t的成员
s > t 超集测试: 是s != t 且,t中所有的元素都是s的成员(严格意义上的)
s.issuperset(t): s >= t 超集测试: t中所有的元素都是s 的成员(不是严格意义上的)
s.union(t) s | t 合并操作:s或t中的元素 并集 返回一个新集合。
s.intersection(t) s & t 交集操作: s 和 t 的元素,返回一个新的集合,新集合中的元素即使s的成员也是t的成员。
s.difference(t) s - t 差分操作 , s 中的元素,而不是t 中的元素。
s.sysmmetric_difference(t) s ^ t 对称操作,s或t 中的元素,但不是s和t 共有的元素
s.copy() 复制操作,浅复制
(以下的方法只是用与不可变集合)
s.update(t) 修改操作,将t中的成员添加到s中
s.remove(obj) 删除操作,将obj 从s 中删除,如果s 中不存在obj ,将引发KeyError
s.pop() Pop操作,移除并返回s 中任意一个元素
s.clear() 消除操作,移除s 中所有的元素
s.add(obj) 将obj添加到s中
s.intersection_update(t) 交集修改操作,s中仅包括s和t中共有的成员
s.difference_update(t) s中仅包括属于s 但不属于t的成员
s.symmetric_difference_update(t) s中仅包括仅属于s或仅属于t的成员