Python set(集合)是一個(gè)無(wú)序且不包含重復(fù)元素的數(shù)據(jù)結(jié)構(gòu)。以下是一些常用的set操作方法:
創(chuàng)建集合:可以使用花括號(hào) {}
或者 set()
函數(shù)來(lái)創(chuàng)建一個(gè)集合。
s1 = {1, 2, 3}
s2 = set([1, 2, 3])
添加元素:使用 add()
方法向集合中添加一個(gè)元素。
s = {1, 2, 3}
s.add(4)
刪除元素:使用 remove()
或 discard()
方法從集合中刪除一個(gè)元素。remove()
方法在元素不存在時(shí)會(huì)拋出異常,而 discard()
方法則不會(huì)。
s = {1, 2, 3}
s.remove(4) # 拋出異常:KeyError
s.discard(4) # 無(wú)異常
檢查元素是否存在:使用 in
或 not in
關(guān)鍵字檢查一個(gè)元素是否存在于集合中。
s = {1, 2, 3}
print(4 in s) # 輸出 False
遍歷集合:可以使用 for
循環(huán)遍歷集合中的元素。
s = {1, 2, 3}
for item in s:
print(item)
計(jì)算集合長(zhǎng)度:使用內(nèi)置函數(shù) len()
計(jì)算集合中元素的個(gè)數(shù)。
s = {1, 2, 3}
print(len(s)) # 輸出 3
集合運(yùn)算:
并集:使用 union()
方法或 |
運(yùn)算符計(jì)算兩個(gè)集合的并集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.union(s2)) # 輸出 {1, 2, 3, 4, 5}
print(s1 | s2) # 輸出 {1, 2, 3, 4, 5}
交集:使用 intersection()
方法或 &
運(yùn)算符計(jì)算兩個(gè)集合的交集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.intersection(s2)) # 輸出 {3}
print(s1 & s2) # 輸出 {3}
差集:使用 difference()
方法或 -
運(yùn)算符計(jì)算兩個(gè)集合的差集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.difference(s2)) # 輸出 {1, 2}
print(s1 - s2) # 輸出 {1, 2}
對(duì)稱(chēng)差集:使用 symmetric_difference()
方法或 ^
運(yùn)算符計(jì)算兩個(gè)集合的對(duì)稱(chēng)差集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.symmetric_difference(s2)) # 輸出 {1, 2, 4, 5}
print(s1 ^ s2) # 輸出 {1, 2, 4, 5}
更新集合:使用 update()
方法或 |=
運(yùn)算符將另一個(gè)集合中的元素添加到當(dāng)前集合中。
s = {1, 2, 3}
s.update({4, 5})
print(s) # 輸出 {1, 2, 3, 4, 5}
s |= {6, 7}
print(s) # 輸出 {1, 2, 3, 4, 5, 6, 7}