集合相关的知识点

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的成员

 

posted @ 2017-06-11 22:51  wlgo2108  阅读(220)  评论(0编辑  收藏  举报