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

演示實例:
一、集合類型方法

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's'])
>>> t
set(['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) >>> s set(['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)
>>> s
set(['h', 's', 'o', 'p'])
3、s.difference_update(t)——s中的成員是屬于s但不包含在t中的元素。
>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.difference_update(t)
>>> s
set(['c', 'e'])
4、s.symmetric_difference_update(t)——s中的成員更新為那些包含在s或t中,但不是s和t共有的元素。
>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.symmetric_difference_update(t)
>>> s
set(['c', 'b', 'e', 'k'])
5、s.add(obj)——在集合s中添加對象obj。
>>> s.add('o')
>>> s
set(['c', 'b', 'e', 'k', 'o'])
6、s.remove(obj)——從集合s中刪除對象obj,如果obj不是集合s中的元素(obj not in s),將引發(fā)KeyError。
<p>>>> s.remove('b')
>>> s
set(['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中刪除對象obj。
>>> s.discard('a')
>>> s
set(['c', 'e', 'k', 'o'])
>>> s.discard('e')
>>> s
set(['c', 'k', 'o'])
8、s.pop()——刪除集合是中的任意一個對象,并返回它。
>>> s.pop() 'c' >>> s set(['k', 'o'])
9、s.clear()——刪除集合s中的所有元素。
>>> s.clear() >>> s set([])
相關(guān)文章
Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程
這篇文章主要介紹了Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
關(guān)于Python 實現(xiàn)tuple和list的轉(zhuǎn)換問題
這篇文章主要介紹了Python 實現(xiàn)tuple和list的轉(zhuǎn)換,文中介紹了list(列表)和tuple(元組)共同點和區(qū)別,結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-05-05
詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹
這篇文章主要介紹了詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
python datatable庫大型數(shù)據(jù)集和多核數(shù)據(jù)處理使用探索
這篇文章主要介紹了python datatable庫大型數(shù)據(jù)集和多核數(shù)據(jù)處理使用探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
Django中url與path及re_path的區(qū)別說明
這篇文章主要介紹了Django中url與path及re_path的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
解決編碼問題:UnicodeDecodeError: 'utf-8' codec
這篇文章主要介紹了快速解決編碼問題:UnicodeDecodeError: 'utf-8' codec can't decod,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05

