python set函數比較多,下面給大家列一下經常需要用到的一些函數:
比如s = set([1,2,3])
有些函數可以通過dir(s)和help(s)來查看。
s.update(t) 用t 中的元素修改s, 即s 現在包含s 或t 的成員
s.intersection_update(t) s 中的成員是共同屬於s 和t 的元素。
s.difference_update(t) s 中的成員是屬於s 但不包含在t 中的元素
s.symmetric_difference_update(t) s 中的成員更新為那些包含在s 或t中,但不是s和t 共有的元素
s.add(obj) 在集合s 中添加對象obj
s.remove(obj) 從集合s 中刪除對象obj;如果obj 不是集合s 中的元素(obj not in s),將引發KeyError 錯誤
s.discard(obj) 如果obj 是集合s 中的元素,從集合s 中刪除對象obj;
s.pop() 刪除集合s 中的任意一個對象,並返回它
s.clear() 刪除集合s 中的所有元素
len(s) 集合基數: 集合s 中元素的個數
set([obj]) 可變集合工廠函數; obj 必須是支援迭代的,由obj 中的元素建立集合,否則建立一個空集合
frozenset([obj]) 不可變集合工廠函數; 執行方式和set()方法相同,但它返回的是不可變集合
obj in s 成員測試:obj 是s 中的一個元素嗎?
obj not in s 非成員測試:obj 不是s 中的一個元素嗎?
s == t 等價測試: 測試s 和t 是否具有相同的元素?
s != t 不等價測試: 與==相反
s < t (嚴格意義上)子集測試; s != t 而且s 中所有的元素都是t 的成員
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.intersec- tion(t) s & t 交集操作:s 和t 中的元素
s.difference(t) s - t 差分操作: s 中的元素,而不是t 中的元素
s.symmetric_difference(t)s ^ t 對稱差分操作:s 或t 中的元素,但不是s 和t 共有的元素
s.copy() 複製操作:返回s 的(淺複製)副本