Python - 集合合併



在 Python 中,一個 集合 是一個有序的專案集合。這些專案可以是不同型別的。但是,集合中的專案必須是不可變物件。這意味著,我們只能在集合中包含數字、字串和元組,而不能包含 列表。Python 的集合類提供了不同的方法來合併集合物件。

Python 集合合併

Python 中合併集合是指將兩個或多個集合合併成單個集合。合併集合時,會合並多個集合的元素,同時確保刪除重複元素,因為集合不允許重複元素。

這可以透過多種方法實現,例如聯合、更新、集合推導式、集合連線、複製和迭代新增。

使用 "|" 運算符合並 Python 集合

"|" 符號(管道)被定義為聯合運算子。它執行 A∪B 運算,並返回 A、B 或兩者中都存在的專案的集合。集合不允許重複項。

示例

在下面的示例中,我們使用 "|" 運算子對集合 "s1" 和 "s2" 執行聯合運算,建立一個新的集合 "s3",其中包含來自兩個集合的元素,但不包含重複元素。

s1={1,2,3,4,5}
s2={4,5,6,7,8}
s3 = s1|s2
print (s3)

它將產生以下輸出:

{1, 2, 3, 4, 5, 6, 7, 8}

使用 union() 方法合併 Python 集合

集合類具有 union() 方法,該方法執行與 | 運算子相同的操作。它返回一個集合物件,其中包含兩個集合中的所有專案,並丟棄重複項。

示例

在此示例中,我們對集合 "s1" 呼叫 union() 方法,並將集合 "s2" 作為引數傳遞,這將返回一個新的集合 "s3",其中包含來自兩個集合的元素,但不包含重複元素。

s1={1,2,3,4,5}
s2={4,5,6,7,8}
s3 = s1.union(s2)
print (s3)

獲得的輸出如下:

{1, 2, 3, 4, 5, 6, 7, 8}

使用 update() 方法合併 Python 集合

update() 方法也合併兩個集合,就像 union() 方法一樣。但是,它不返回新的集合物件。相反,第二個集合的元素將新增到第一個集合中,不允許重複。

示例

下面的例子中,我們使用 `update()` 方法用集合 "s2" 的元素更新集合 "s1",修改 "s1" 使其包含兩個集合的元素,但不包含重複元素:

s1={1,2,3,4,5}
s2={4,5,6,7,8}
s1.update(s2)
print (s1)

得到的結果如下所示:

{1, 2, 3, 4, 5, 6, 7, 8}

使用解包運算子連線 Python 集合

在 Python 中,"*" 符號用作解包運算子。解包運算子在內部將集合中的每個元素分配給一個單獨的變數。

我們可以使用解包運算子 (*) 透過將多個集合的元素解包到一個新集合中來連線 Python 集合。

示例

在下面的例子中,我們使用集合字面量中的 * 運算子,透過解包集合 "s1" 和 "s2" 的元素來建立一個新的集合 "s3":

s1={1,2,3,4,5}
s2={4,5,6,7,8}
s3 = {*s1, *s2}
print (s3)

生成的輸出如下:

{1, 2, 3, 4, 5, 6, 7, 8}

使用集合推導式連線 Python 集合

Python 中的集合推導式是一種簡潔的建立集合的方式,它使用可迭代物件,類似於列表推導式,但結果是集合而不是列表。它允許你透過將表示式應用於可迭代物件中的每個專案來生成集合,同時可以選擇根據條件過濾專案。

我們可以透過迭代多個集合並將它們的元素新增到一個新集合中來使用集合推導式連線 Python 集合。

示例

在這個例子中,我們使用集合推導式建立一個新的集合 "joined_set"。透過迭代包含 "set1" 和 "set2" 的列表,然後迭代每個集合 "s" 中的每個元素 "x",我們將兩個集合的所有元素合併到 "joined_set" 中:

set1 = {1, 2, 3}
set2 = {3, 4, 5}

joined_set = {x for s in [set1, set2] for x in s}
print(joined_set) 

以上程式碼的輸出如下所示:

{1, 2, 3, 4, 5}

使用迭代新增連線 Python 集合

在集合的上下文中,迭代新增是指使用迴圈或迭代結構將一個集合中的元素迭代地新增到另一個集合中。這允許你將多個集合的元素合併到單個集合中,確保不包含重複元素。

我們可以透過迭代每個集合的元素並將它們新增到一個新集合中來使用迭代新增連線 Python 集合。

示例

在下面的例子中,我們首先初始化一個空集合。然後,我們分別迭代 "set1" 和 "set2" 中的每個元素,使用 `add()` 方法將每個元素新增到名為 "joined_set" 的新集合中:

set1 = {1, 2, 3}
set2 = {3, 4, 5}

# Initializing an empty set to hold the merged elements
joined_set = set()

# Iterating over set1 and adding its elements to the joined set
for element in set1:
   joined_set.add(element)

# Iterating over set2 and adding its elements to the joined set
for element in set2:
   joined_set.add(element)

print(joined_set)  

執行以上程式碼後,我們將得到以下輸出:

{1, 2, 3, 4, 5}
廣告