在 Python 中計算集合交集

Muhammad Maisam Abbas 2023年1月30日
  1. 在 Python 中使用 intersection() 函式設定交集
  2. 在 Python 中使用 & 運算子來計算集合交集
  3. 在 Python 中使用 intersection_update() 函式來計算集合交集
在 Python 中計算集合交集

本教程將討論可用於在 Python 中計算集合交集的不同方法。

在 Python 中使用 intersection() 函式設定交集

在集合交集中,我們選擇兩個或多個集合內的所有公共元素。在 Python 中,我們有 intersection() 函式 可用於執行集合交集。intersection() 函式將一個或多個集合作為輸入,並以另一個集合的形式返回它們的交集。以下程式碼片段向我們展示瞭如何使用 intersection() 函式對兩個集合執行集合交集。

set1 = {1, 2, 3, 4}
set2 = {2, 4, 6, 8}
set3 = set1.intersection(set2)
print(set3)

輸出:

{2, 4}

我們在上面的程式碼中使用 intersection() 函式對 set1set2 執行了集合交集。我們還可以使用相同的 intersection() 函式對兩個以上的集合執行集合交集。

set1 = {1, 2, 3, 4}
set2 = {2, 4, 6, 8}
set3 = {2, 3, 5, 7}
set4 = set1.intersection(set2, set3)
print(set4)

輸出:

{2}

我們在上面的程式碼中使用 intersection() 函式對 set1set2set3 執行了集合交集。此操作的結果儲存在 set4 中並顯示給使用者。輸出顯示 2,因為它是所有三個集合中唯一存在的元素。

在 Python 中使用 & 運算子來計算集合交集

& 運算子 也可用於在 Python 中執行集合交集。& 運算子返回其兩個運算元中的公共值。& 運算子的返回型別是一個集合。請參考以下程式碼片段。

set1 = {1, 2, 3, 4}
set2 = {2, 4, 6, 8}
set3 = set1 & set2
print(set3)

輸出:

{2, 4}

我們在上面的程式碼中使用 & 運算子對 set1set2 執行了集合交集。我們還可以使用相同的 & 運算子對兩個以上的集合進行集合交集。

set1 = {1, 2, 3, 4}
set2 = {2, 4, 6, 8}
set3 = {2, 3, 5, 7}
set4 = set1 & set2 & set3
print(set4)

輸出:

{2}

我們在上面的程式碼中使用 & 運算子對 set1set2set3 執行了集合交集。此操作的結果儲存在 set4 中並顯示給使用者。輸出顯示 2,因為它是所有三個集合中唯一存在的元素。

在 Python 中使用 intersection_update() 函式來計算集合交集

在前兩節中,我們注意到我們需要建立一個新的集合來儲存所有結果值來執行集合交集操作。使用 intersection_update() 函式,我們不需要建立一個新的集合來儲存結果。而是更新呼叫集,並將結果值儲存在呼叫集內。以下程式碼片段向我們展示瞭如何使用 intersection_update() 函式對兩個集合執行集合交集。

set1 = {1, 2, 3, 4}
set2 = {2, 4, 6, 8}
set1.intersection_update(set2)
print(set1)

輸出:

{2, 4}

我們在上面的程式碼中使用 intersection_update() 函式對 set1set2 執行了集合交集。如上所述,結果值儲存在呼叫集內,在我們的例子中是 set1。我們還可以使用相同的 intersection_update() 函式對兩個以上的集合執行集合交集。以下程式碼片段演示瞭如何使用 intersection_update() 函式對兩個以上的集合執行集合交集。

set1 = {1, 2, 3, 4}
set2 = {2, 4, 6, 8}
set3 = {2, 3, 5, 7}
set1.intersection_update(set2, set3)
print(set1)

輸出:

{2}

我們在上面的程式碼中使用 intersection_update() 函式對 set1set2set3 執行了集合交集。此操作的結果儲存在 set1 中並顯示給使用者。輸出顯示 2,因為它是所有三個集合中唯一存在的元素。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Python Set