如何在Python中使用set進(jìn)行集合運(yùn)算

小樊
82
2024-09-06 13:03:32

在Python中,set是一個(gè)非常有用的數(shù)據(jù)類型,它可以用來(lái)存儲(chǔ)不重復(fù)的元素,并且支持集合運(yùn)算。下面是一些基本的集合運(yùn)算的例子:

  1. 創(chuàng)建集合

你可以使用大括號(hào) {} 或者 set() 函數(shù)來(lái)創(chuàng)建一個(gè)集合。

# 使用大括號(hào)創(chuàng)建集合
s1 = {1, 2, 3, 4, 5}

# 使用set()函數(shù)創(chuàng)建集合
s2 = set([1, 2, 3, 4, 5])
  1. 添加元素

使用 add() 方法可以向集合中添加一個(gè)元素。

s1.add(6)
print(s1)  # 輸出: {1, 2, 3, 4, 5, 6}

注意:如果你試圖添加一個(gè)已經(jīng)存在于集合中的元素,Python將不會(huì)報(bào)錯(cuò),但也不會(huì)有任何效果。 3. 刪除元素

使用 remove() 方法可以從集合中刪除一個(gè)元素。如果元素不存在,remove() 方法會(huì)引發(fā)一個(gè) KeyError。

s1.remove(6)
print(s1)  # 輸出: {1, 2, 3, 4, 5}

為了避免 KeyError,你可以使用 discard() 方法,它在元素不存在時(shí)不會(huì)有任何效果。

s1.discard(6)  # 沒(méi)有任何效果,因?yàn)?已經(jīng)被移除了
  1. 集合運(yùn)算

Python的集合支持多種運(yùn)算,包括并集、交集、差集和對(duì)稱差集。

* 并集(Union): 使用 `|` 運(yùn)算符或者 `union()` 方法。
* 交集(Intersection): 使用 `&` 運(yùn)算符或者 `intersection()` 方法。
* 差集(Difference): 使用 `-` 運(yùn)算符或者 `difference()` 方法。
* 對(duì)稱差集(Symmetric Difference): 使用 `^` 運(yùn)算符或者 `symmetric_difference()` 方法。

示例代碼:

s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}

# 并集
print(s1 | s2)  # 輸出: {1, 2, 3, 4, 5, 6, 7, 8}
print(s1.union(s2))  # 輸出: {1, 2, 3, 4, 5, 6, 7, 8}

# 交集
print(s1 & s2)  # 輸出: {4, 5}
print(s1.intersection(s2))  # 輸出: {4, 5}

# 差集
print(s1 - s2)  # 輸出: {1, 2, 3}
print(s1.difference(s2))  # 輸出: {1, 2, 3}

# 對(duì)稱差集
print(s1 ^ s2)  # 輸出: {1, 2, 3, 6, 7, 8}
print(s1.symmetric_difference(s2))  # 輸出: {1, 2, 3, 6, 7, 8}

這些就是Python中集合的基本操作和集合運(yùn)算。記住,集合是無(wú)序的,所以它們的元素沒(méi)有特定的順序。

0