集合內(nèi)建函數(shù)和內(nèi)建方法
(1)標(biāo)準(zhǔn)類型函數(shù)
len():把集合作為參數(shù)傳遞給內(nèi)建函數(shù) len(),返回集合的基數(shù)(或元素的個(gè)數(shù))。
(2)集合類型工廠函數(shù)
set()和 frozenset()工廠函數(shù)分別用來(lái)生成可變和不可變的集合。如果不提供任何參數(shù),默認(rèn)會(huì)生成空集合。如果提供一個(gè)參數(shù),則該參數(shù)必須是可迭代的,即一個(gè)序列或迭代器或支持迭代的一個(gè)對(duì)象,例如一個(gè)文件或一個(gè)字典。
(3)方法(所有的集合方法)
s.issubset(t) 如果s是t的子集,則返回True,否則返回False
s.issuperset(t) 如果t是s的超集,則返回True,否則返回False
s.union(t) 返回一個(gè)新集合,該集合是s和t的并集
s.intersection(t) 返回一個(gè)新集合,該集合是s和t的交集
s.difference(t) 返回一個(gè)新集合,該集合是 s 的成員,但不是 t 的成員
s.symmetric_difference(t) 返回一個(gè)新集合,該集合是s或t的成員,但不是s和t共有的成員
s.copy() 返回一個(gè)新集合,它是集合s的淺復(fù)制
內(nèi)建方法copy() 沒(méi)有等價(jià)的操作符。和同名的字典方法一樣,copy()方法比用像set()、frozenset()或dict()這樣的工廠方法復(fù)制對(duì)象的副本要快。
(4)方法(僅適用于可變集合)
可變集合類型的方法:

演示實(shí)例:
一、集合類型方法

>>> s = set('cheeseshop')>>> t = set('bookshop')>>> sset(['c', 'e', 'h', 'o', 'p', 's'])>>> tset(['b', 'h', 'k', 'o', 'p', 's'])>>> s.issubset(t)False>>> s.issuperset(t)False>>> s.union(t)set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])>>> s.intersection(t)set(['h', 's', 'o', 'p'])>>> s.difference(t)set(['c', 'e'])>>> s.symmetric_difference(t)set(['b', 'e', 'k', 'c'])>>> s.copy()set(['p', 'c', 'e', 'h', 's', 'o'])
二、可變集合類型的方法
1、s.update(t)――用t中的元素修改s,即s現(xiàn)在包含s或t的成員。
>>> s.update(t)>>> sset(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
2、s.intersection_update(t)――s中的成員是共同屬于s和t中的元素。
>>> s = set('cheeseshop')>>> t = set('bookshop')>>> s.intersection_update(t)>>> sset(['h', 's', 'o', 'p'])
3、s.difference_update(t)――s中的成員是屬于s但不包含在t中的元素。
>>> s = set('cheeseshop')>>> t = set('bookshop')>>> s.difference_update(t)>>> sset(['c', 'e'])
4、s.symmetric_difference_update(t)――s中的成員更新為那些包含在s或t中,但不是s和t共有的元素。
>>> s = set('cheeseshop')>>> t = set('bookshop')>>> s.symmetric_difference_update(t)>>> sset(['c', 'b', 'e', 'k'])
5、s.add(obj)――在集合s中添加對(duì)象obj。
>>> s.add('o')>>> sset(['c', 'b', 'e', 'k', 'o'])
6、s.remove(obj)――從集合s中刪除對(duì)象obj,如果obj不是集合s中的元素(obj not in s),將引發(fā)KeyError。
<p>>>> s.remove('b')>>> sset(['c', 'e', 'k', 'o'])>>> s.remove('a')</p><p>Traceback (most recent call last): File "<pyshell#53>", line 1, in <module> s.remove('a')KeyError: 'a'</p>
7、s.discard(obj)――如果obj是集合s中的元素,從集合s中刪除對(duì)象obj。
>>> s.discard('a')>>> sset(['c', 'e', 'k', 'o'])>>> s.discard('e')>>> sset(['c', 'k', 'o'])8、s.pop()――刪除集合是中的任意一個(gè)對(duì)象,并返回它。
>>> s.pop()'c'>>> sset(['k', 'o'])
9、s.clear()――刪除集合s中的所有元素。
>>> s.clear()>>> sset([])
新聞熱點(diǎn)
疑難解答
圖片精選