Python中集合的內(nèi)建函數(shù)和內(nèi)建方法學(xué)習(xí)教程
集合內(nèi)建函數(shù)和內(nèi)建方法
(1)標(biāo)準(zhǔn)類(lèi)型函數(shù)
len():把集合作為參數(shù)傳遞給內(nèi)建函數(shù) len(),返回集合的基數(shù)(或元素的個(gè)數(shù))。
(2)集合類(lèi)型工廠函數(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)方法(僅適用于可變集合)
可變集合類(lèi)型的方法:
演示實(shí)例:
一、集合類(lèi)型方法
>>> 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'])
二、可變集合類(lèi)型的方法
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中添加對(duì)象obj。
>>> s.add('o') >>> s set(['c', 'b', 'e', 'k', 'o'])
6、s.remove(obj)——從集合s中刪除對(duì)象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中刪除對(duì)象obj。
>>> s.discard('a') >>> s set(['c', 'e', 'k', 'o']) >>> s.discard('e') >>> s set(['c', 'k', 'o'])
8、s.pop()——?jiǎng)h除集合是中的任意一個(gè)對(duì)象,并返回它。
>>> s.pop() 'c' >>> s set(['k', 'o'])
9、s.clear()——?jiǎng)h除集合s中的所有元素。
>>> s.clear() >>> s set([])
相關(guān)文章
利用Python第三方庫(kù)實(shí)現(xiàn)預(yù)測(cè)NBA比賽結(jié)果
今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著利用Python實(shí)現(xiàn)預(yù)測(cè)NBA比賽結(jié)果展開(kāi),文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06利用信號(hào)如何監(jiān)控Django模型對(duì)象字段值的變化詳解
這篇文章主要給大家介紹了關(guān)于利用信號(hào)如何監(jiān)控Django模型對(duì)象字段值變化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11LyScript實(shí)現(xiàn)計(jì)算片段Hash并寫(xiě)出Excel的示例代碼
本案例將學(xué)習(xí)運(yùn)用LyScript計(jì)算特定程序中特定某些片段的Hash特征值,并通過(guò)xlsxwriter這個(gè)第三方模塊將計(jì)算到的hash值存儲(chǔ)成一個(gè)excel表格,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-09-09python 表達(dá)式和語(yǔ)句及for、while循環(huán)練習(xí)實(shí)例
下面小編就為大家?guī)?lái)一篇python 表達(dá)式和語(yǔ)句及for、while循環(huán)練習(xí)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Python如何實(shí)現(xiàn)SSH遠(yuǎn)程連接與文件傳輸
這篇文章主要介紹了Python如何實(shí)現(xiàn)SSH遠(yuǎn)程連接與文件傳輸問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05python自定義分頁(yè)器的實(shí)現(xiàn)
這篇文章主要介紹了python自定義分頁(yè)器的實(shí)現(xiàn),通過(guò)自定義分頁(yè)器封裝展開(kāi)主題并對(duì)其實(shí)用方法簡(jiǎn)單介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-04-04django處理select下拉表單實(shí)例(從model到前端到post到form)
這篇文章主要介紹了django處理select下拉表單實(shí)例(從model到前端到post到form),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03