Python:什么是集合?集合常用操作有哪些?
大家好,我是IT共享者,人稱皮皮。今天給大家來捋一捋Python集合。
一、什么是集合?
集合(set)和字典(dict)類似,它是一組 key 的集合,但不存儲 value。集合的特性就是:key 不能重復。
二、集合常用操作
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(),接收一個字符串print(s2)set(['e', 'd', 'h', 'l', 'o', 'r', 'w'])s3 = set(['.mp3', '.mp4', '.rmvb', '.mkv', '.mp3']) # 使用 set(),接收一個列表print(s3)set(['.mp3', '.mkv', '.rmvb', '.mp4'])
2. 遍歷集合s = {'a', 'b', 'c', 'a', 'd', 'b'}for e in s: print(e)
3. 添加元素
add() 方法可以將元素添加到 set 中,可以重復添加,但沒有效果。
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() 方法可以刪除集合中的元素, 但是刪除不存在的元素,會拋出 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') # 刪除不存在的元素,會拋出 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') # 刪除不存在的元素, 不會拋出 KeyError
三、交集/并集/差集
Python 中的集合也可以看成是數(shù)學意義上的無序和無重復元素的集合,因此,我們可以對兩個集合作交集、并集等。
看看例子:
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的另外一種形式(集合),通過講解集合中如何去創(chuàng)建集合,遍歷集合,解釋了兩種常見的集合操作,添加元素和刪除元素。最后通過一個小項目,介紹了集合之間中的三種關(guān)系。希望能夠幫助大家更好的學習。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-9.1立即下載>> 【限時下載】ADI中國三十周年感恩回饋助力企業(yè)升級!
-
即日-9.16點擊進入 >> 【限時福利】TE 2025國際物聯(lián)網(wǎng)展·深圳站
-
10月23日立即報名>> Works With 開發(fā)者大會深圳站
-
10月24日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評選
-
11月27日立即報名>> 【工程師系列】汽車電子技術(shù)在線大會
-
12月18日立即報名>> 【線下會議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
推薦專題
- 1 阿里首位程序員,“掃地僧”多隆已離職
- 2 先進算力新選擇 | 2025華為算力場景發(fā)布會暨北京xPN伙伴大會成功舉辦
- 3 宇樹機器人撞人事件的深度剖析:六維力傳感器如何成為人機安全的關(guān)鍵屏障
- 4 清華跑出具身智能獨角獸:給機器人安上眼睛和大腦,融資近20億
- 5 特朗普要求英特爾首位華人 CEO 辭職
- 6 踢館大廠和微軟,剖析WPS靈犀的AI實用主義
- 7 騰訊 Q2 財報亮眼:AI 已成第二增長曲線
- 8 谷歌吹響AI沖鋒號,AI還有哪些機會
- 9 蘋果把身家押在Siri上:一場輸不起的自我革命
- 10 共探合作新機遇!江門市新會區(qū)(深圳)“AI + 機器人” 產(chǎn)業(yè)對接會成功舉辦