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.add('e')print(s)set(['a', 'c', 'b', 'e', 'd'])s.add('a')print(s)set(['a', 'c', 'b', 'e', 'd'])s.add(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 的超集
四、總結
本文主要介紹了Python的另外一種形式(集合),通過講解集合中如何去創(chuàng)建集合,遍歷集合,解釋了兩種常見的集合操作,添加元素和刪除元素。最后通過一個小項目,介紹了集合之間中的三種關系。希望能夠幫助大家更好的學習。

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權
- 3 深度報告|中國AI產業(yè)正在崛起成全球力量,市場潛力和關鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級獨角獸:獲上市公司戰(zhàn)投,干人形機器人
- 5 國家數(shù)據(jù)局局長劉烈宏調研格創(chuàng)東智
- 6 一文看懂視覺語言動作模型(VLA)及其應用
- 7 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 8 百億AI芯片訂單,瘋狂傾銷中東?
- 9 Robotaxi新消息密集釋放,量產元年誰在領跑?
- 10 格斗大賽出圈!人形機器人致命短板曝光:頭腦過于簡單