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 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產業(yè)發(fā)展新路徑
- 3 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 4 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 5 國產智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?