Python:什么是集合?集合常用操作有哪些?
大家好,我是IT共享者,人稱(chēng)皮皮。今天給大家來(lái)捋一捋Python集合。
一、什么是集合?
集合(set)和字典(dict)類(lèi)似,它是一組 key 的集合,但不存儲(chǔ) value。集合的特性就是:key 不能重復(fù)。
二、集合常用操作
1. 創(chuàng)建集合
set 的創(chuàng)建可以使用 {} 也可以使用 set 函數(shù):
s1 = {'a', 'b', 'c', 'a', 'd', 'b'} # 使用 {}print(s1)(['a', 'c', 'b', 'd'])
s2 = set('helloworld') # 使用 set(),接收一個(gè)字符串print(s2)set(['e', 'd', 'h', 'l', 'o', 'r', 'w'])s3 = set(['.mp3', '.mp4', '.rmvb', '.mkv', '.mp3']) # 使用 set(),接收一個(gè)列表print(s3)set(['.mp3', '.mkv', '.rmvb', '.mp4'])
2. 遍歷集合s = {'a', 'b', 'c', 'a', 'd', 'b'}for e in s: print(e)
3. 添加元素
add() 方法可以將元素添加到 set 中,可以重復(fù)添加,但沒(méi)有效果。
s = {'a', 'b', 'c', 'a', 'd', 'b'}print(s)set(['a', 'c', 'b', 'd'])s.a(chǎn)dd('e')print(s)set(['a', 'c', 'b', 'e', 'd'])s.a(chǎn)dd('a')print(s)set(['a', 'c', 'b', 'e', 'd'])s.a(chǎn)dd(4)print(s)set(['a', 'c', 'b', 4, 'd', 'e'])
4. 刪除元素
remove() 方法可以刪除集合中的元素, 但是刪除不存在的元素,會(huì)拋出 KeyError,可改用 discard()。
例子:
s = {'a', 'b', 'c', 'a', 'd', 'b'}print(s)set(['a', 'c', 'b', 'd'])s.remove('a') # 刪除元素 'a'print(s)set(['c', 'b', 'd'])s.remove('e') # 刪除不存在的元素,會(huì)拋出 KeyError
s = {'a', 'b', 'c', 'a', 'd', 'b'}print(s)set(['a', 'c', 'b', 'd'])s.remove('a') # 刪除元素 'a'print(s)set(['c', 'b', 'd'])s.discard('e') # 刪除不存在的元素, 不會(huì)拋出 KeyError
三、交集/并集/差集
Python 中的集合也可以看成是數(shù)學(xué)意義上的無(wú)序和無(wú)重復(fù)元素的集合,因此,我們可以對(duì)兩個(gè)集合作交集、并集等。
看看例子:
s1 = {1, 2, 3, 4, 5, 6}s2 = {3, 6, 9, 10, 12}s3 = {2, 3, 4}print(s1 & s2 ) # 交集set([3, 6])print(s1 | s2) # 并集set([1, 2, 3, 4, 5, 6, 9, 10, 12])print(s1 - s2) # 差集set([1, 2, 4, 5])print(s3.issubset(s1)) # s3 是否是 s1 的子集
print(s3.issubset(s2)) # s3 是否是 s2 的子集
print(s1.issuperset(s3)) # s1 是否是 s3 的超集
print(s1.issuperset(s2)) # s1 是否是 s2 的超集
四、總結(jié)
本文主要介紹了Python的另外一種形式(集合),通過(guò)講解集合中如何去創(chuàng)建集合,遍歷集合,解釋了兩種常見(jiàn)的集合操作,添加元素和刪除元素。最后通過(guò)一個(gè)小項(xiàng)目,介紹了集合之間中的三種關(guān)系。希望能夠幫助大家更好的學(xué)習(xí)。

發(fā)表評(píng)論
登錄
手機(jī)
驗(yàn)證碼
立即登錄即可訪(fǎng)問(wèn)所有OFweek服務(wù)
還不是會(huì)員?免費(fèi)注冊(cè)
忘記密碼請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹(shù)機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車(chē)母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車(chē)研發(fā)中心重磅落地,寶馬家門(mén)口“搶人”
最新活動(dòng)更多
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開(kāi)發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車(chē)電子技術(shù)在線(xiàn)大會(huì)
-
12月18日立即報(bào)名>> 【線(xiàn)下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
推薦專(zhuān)題
- 1 人形機(jī)器人,正狂奔在批量交付的曠野
- 2 3 AI版“四萬(wàn)億刺激”計(jì)劃來(lái)了
- 4 2025年8月人工智能投融資觀察
- 5 一家被嚴(yán)重低估的國(guó)產(chǎn)AI巨頭
- 6 a16z最新AI百?gòu)?qiáng)榜:硅谷頂級(jí)VC帶你讀懂全球生成式AI賽道最新趨勢(shì)
- 7 Manus跑路,大廠(chǎng)掉線(xiàn),只能靠DeepSeek了
- 8 地平線(xiàn)的野心:1000萬(wàn)套HSD上車(chē)
- 9 一萬(wàn)億美元!馬斯克薪酬細(xì)節(jié)拆解
- 10 蘋(píng)果把身家押在Siri上:一場(chǎng)輸不起的自我革命