Python3數(shù)據(jù)類型-集合-05

5.1 什么是集合(set)鳄梅?

集合(set)是一個無序的不重復元素序列。

5.2 集合的創(chuàng)建

  • 定義一個集合,將元素用{}擴起來慰丛。

example_set = {'basketball', 'volleyball', 'football'}

輸出結果如下:

{'volleyball', 'football', 'basketball'}

  • 利用set()命令來創(chuàng)建集合

example_set = set('asdfghjkl')

輸出結果如下:

{'l', 's', 'g', 'k', 'd', 'f', 'a', 'j', 'h'}

從上面的定義中我們可以看出悲幅,定義好的集合輸出后元素都進行了重新排列套鹅。這也正是體現(xiàn)了集合無序的特征。

5.3 集合的基本操作

5.3.1 集合元素的去重

從定義上可以看出汰具,集合(set)是一種無序不重復的序列卓鹿,那么我們在定義一個集合的過程中,如果該集合中重復出現(xiàn)了某個或者某些元素留荔,該集合在輸出的時候吟孙,將只保留一個該元素,而會將多余重復的元素刪除聚蝶。

例如:

example_set3 = {'basketball', 'volleyball', 'football', 'baseball', 'volleyball'}
print(example_set3)

輸出結果為:

{'basketball', 'football', 'baseball', 'volleyball'}

5.3.2 集合基本運算

通過下面這個例子來說明一下集合的元素間的基本運算:

set_a = set('abhduagejqedgd')
set_b = set('dihengahe')
print(set_a - set_b)
print(set_a | set_b)
print(set_a & set_b)
print(set_a ^ set_b)

輸出結果如下:

{'j', 'u', 'q', 'b'}
{'b', 'h', 'a', 'u', 'q', 'd', 'n', 'i', 'g', 'j', 'e'}
{'h', 'a', 'd', 'g', 'e'}
{'b', 'u', 'q', 'n', 'i', 'j'}

set_a - set_b:集合set_a中包含而集合set_b中不包含杰妓,換句話說就是集合set_a減去與set_b中重復的元素,剩余的元素碘勉,需要注意的是巷挥,如果集合set_b中有set_a中沒有的元素,這個相減的結果是不包括這些元素的恰聘。

set_a | set_b:集合set_a和集合set_b中包含的所有元素句各,相當于兩個集合的并集。

set_a & set_b:集合set_a和集合set_b中共同包含的元素晴叨,相當于兩個集合的交集凿宾。

set_a ^ set_b: 集合set_a和集合set_b中不同時包含的元素,可以理解為并集減去交集剩余的部分兼蕊。

5.3.3 向集合中添加元素

向集合中添加元素有兩種方法初厚,一種是set.add(object),一種是set.update()。

區(qū)別是产禾,前者是將單個元素添加到集合中排作,如果集合中本身存在這個元素,則根據(jù)不重復原則亚情,將不改變已有內(nèi)容妄痪;后者向集合中添加元素不限于單個元素,也可以是列表楞件、元組衫生、字典等。

5.3.4 從集合中刪除元素

從集合中刪除元素共有三種方法:

set.remove(object)

set.dicard(object)

set.pop()

前兩種都是對集合中指定元素的刪除土浸,如果元素存在于集合中罪针,效果是一樣的。如果要刪除的元素不存在于集合中黄伊,remove方法就會報錯泪酱,而discard方法則不會報錯。

pop方法則是隨機刪除集合中的一個元素还最。

增加和刪除元素參考以下例題:

example_set1.add('tennis')
example_set2.update( [2, 4, 6], {'name': 'Lily', 'number': 12, 'score': 88})
print(example_set1)
print(example_set2)

set_a.remove('d')
set_b.discard('e')
example_set3.pop()
print(set_a)
print(set_b)
print(example_set3)

輸出結果如下:

{'volleyball', 'basketball', 'football', 'tennis'}
{'score', 2, 'f', 4, 'a', 6, 'd', 'g', 'l', 'number', 's', 'name', 'h', 'j', 'k'}
{'b', 'u', 'a', 'q', 'g', 'h', 'j', 'e'}
{'i', 'a', 'd', 'g', 'n', 'h'}
{'basketball', 'football', 'baseball'}

需要注意的一點是墓阀,通過測試發(fā)現(xiàn),利用update方法往集合中增加元素的時候憋活,整數(shù)或者整型是不被允許的岂津,會報錯。此外悦即,字典雖然可以被添加吮成,但是只是把鍵添加進去了,而值則被忽略掉了辜梳。

5.3.5 其他

len(set):計算集合的元素個數(shù)

set.clear():情況集合

object in set:判斷元素object是否在集合set中粱甫,如果是,返回True作瞄,如果不是茶宵,返回False。

5.4 集合的一些內(nèi)置函數(shù)

前面已經(jīng)提到了一部分宗挥,諸如set.add(object),set.update(),set_remove(object),set.discard(object)等等乌庶。其余的一些內(nèi)置函數(shù)在具體使用的過程中再慢慢探索和體會。

5.5 小結

這一小節(jié)主要學習了集合(set)這種數(shù)據(jù)類型的基本概念和使用方法契耿,對于這種無序不重復的數(shù)據(jù)類型具體怎樣使用還需要進一步學習瞒大。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市搪桂,隨后出現(xiàn)的幾起案子透敌,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,496評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酗电,死亡現(xiàn)場離奇詭異魄藕,居然都是意外死亡,警方通過查閱死者的電腦和手機撵术,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評論 3 385
  • 文/潘曉璐 我一進店門背率,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荷荤,你說我怎么就攤上這事退渗。” “怎么了蕴纳?”我有些...
    開封第一講書人閱讀 157,091評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長个粱。 經(jīng)常有香客問我古毛,道長,這世上最難降的妖魔是什么都许? 我笑而不...
    開封第一講書人閱讀 56,458評論 1 283
  • 正文 為了忘掉前任稻薇,我火速辦了婚禮,結果婚禮上胶征,老公的妹妹穿的比我還像新娘塞椎。我一直安慰自己,他們只是感情好睛低,可當我...
    茶點故事閱讀 65,542評論 6 385
  • 文/花漫 我一把揭開白布案狠。 她就那樣靜靜地躺著,像睡著了一般钱雷。 火紅的嫁衣襯著肌膚如雪骂铁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,802評論 1 290
  • 那天罩抗,我揣著相機與錄音拉庵,去河邊找鬼。 笑死套蒂,一個胖子當著我的面吹牛钞支,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播操刀,決...
    沈念sama閱讀 38,945評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼烁挟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了馍刮?” 一聲冷哼從身側響起信夫,我...
    開封第一講書人閱讀 37,709評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后静稻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體警没,經(jīng)...
    沈念sama閱讀 44,158評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,502評論 2 327
  • 正文 我和宋清朗相戀三年振湾,在試婚紗的時候發(fā)現(xiàn)自己被綠了杀迹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,637評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡押搪,死狀恐怖树酪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情大州,我是刑警寧澤续语,帶...
    沈念sama閱讀 34,300評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站厦画,受9級特大地震影響疮茄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜根暑,卻給世界環(huán)境...
    茶點故事閱讀 39,911評論 3 313
  • 文/蒙蒙 一力试、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧排嫌,春花似錦畸裳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至薇芝,卻和暖如春蓬抄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夯到。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評論 1 266
  • 我被黑心中介騙來泰國打工嚷缭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耍贾。 一個月前我還...
    沈念sama閱讀 46,344評論 2 360
  • 正文 我出身青樓阅爽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親荐开。 傳聞我的和親對象是個殘疾皇子付翁,可洞房花燭夜當晚...
    茶點故事閱讀 43,500評論 2 348

推薦閱讀更多精彩內(nèi)容