Python:什么是集合?集合常用操作有哪些?
大家好,我是IT共享者,人稱皮皮。今天給大家來(lái)捋一捋Python集合。
一、什么是集合?
集合(set)和字典(dict)類似,它是一組 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ù)添加,但沒有效果。
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)建集合,遍歷集合,解釋了兩種常見的集合操作,添加元素和刪除元素。最后通過(guò)一個(gè)小項(xiàng)目,介紹了集合之間中的三種關(guān)系。希望能夠幫助大家更好的學(xué)習(xí)。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
8月5日立即報(bào)名>> 【在線會(huì)議】CAE優(yōu)化設(shè)計(jì):醫(yī)療器械設(shè)計(jì)的應(yīng)用案例與方案解析
-
8月14日立即報(bào)名>> 【在線研討會(huì)】解析安森美(onsemi)高精度與超低功耗CGM系統(tǒng)解決方案
-
精彩回顧立即查看>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
-
精彩回顧立即查看>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
-
精彩回顧立即查看>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
精彩回顧立即查看>> OFweek 2025 具身機(jī)器人動(dòng)力電池技術(shù)應(yīng)用大會(huì)
推薦專題
- 1 AI產(chǎn)業(yè)的新高度!英偉達(dá)成為全球首家市值破4萬(wàn)億美元的公司
- 2 傳魏建軍與賈躍亭合作,長(zhǎng)城汽車出海美國(guó)
- 3 一文讀懂:到底什么是 “具身智能” ?
- 4 黃仁勛:與雷軍長(zhǎng)期合作,共探AI智駕
- 5 具身智能泡沫爭(zhēng)議下,華映資本尋找「穿越周期者」
- 6 中國(guó)平安們欲靠AI守“陣地”
- 7 官宣:智元機(jī)器人借殼上市,A股人形機(jī)器人第一股!
- 8 華為讓渡“三界”銷售主導(dǎo)權(quán),智界高管:終于能全力奔跑了
- 9 借仿生手實(shí)現(xiàn)突圍,國(guó)產(chǎn)靈巧手破局“不可能三角”
- 10 DeepSeek R2加持,中國(guó)AI與芯片產(chǎn)業(yè)迎來(lái)新一輪協(xié)同進(jìn)化