Python - 合併集合
合併集合
Python 中有幾種合併兩個或多個集合的方法。
union()
和 update()
方法合併兩個集合的所有元素。
intersection()
方法僅保留重複項。
difference()
方法保留第一個集合中不包含在其他集合中的元素。
symmetric_difference()
方法保留所有元素,但不包括重複項。
聯合
union()
方法返回一個包含兩個集合所有元素的新集合。
示例
合併 set1 和 set2 到一個新集合
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
自己動手試一試 »
您可以使用 |
運算子代替 union()
方法,結果將相同。
合併多個集合
所有合併方法和運算子都可以用於合併多個集合。
使用方法時,只需在括號中新增更多集合,用逗號分隔
示例
使用 union()
方法合併多個集合
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
自己動手試一試 »
使用 |
運算子時,用更多的 |
運算子分隔集合
示例
使用 |
合併兩個集合
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
自己動手試一試 »
合併集合和元組
union()
方法允許您將集合與其他資料型別(如列表或元組)合併。
結果將是一個集合。
注意: |
運算子只能合併集合與其他集合,而不能像 union()
方法那樣與其他資料型別合併。
Update
update()
方法將一個集合中的所有元素插入到另一個集合中。
update()
更改原始集合,而不返回新集合。
示例
update()
方法將 set2 中的元素插入到 set1 中
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
自己動手試一試 »
注意: union()
和 update()
都會排除重複項。
交集
僅保留重複項
intersection()
方法將返回一個新集合,其中只包含同時存在於兩個集合中的元素。
示例
合併 set1 和 set2,但只保留重複項
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
自己動手試一試 »
您可以使用 &
運算子代替 intersection()
方法,結果將相同。
示例
使用 &
合併兩個集合
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
自己動手試一試 »
注意: &
運算子只能合併集合與其他集合,而不能像 intersection()
方法那樣與其他資料型別合併。
intersection_update()
方法也只保留重複項,但它會更改原始集合而不是返回新集合。
示例
保留同時存在於 set1
和 set2
中的元素
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
自己動手試一試 »
True
和 1
被視為相同的值。 False
和 0
也是如此。
示例
合併包含 True
、False
、1
和 0
的集合,並檢視哪些被視為重複項
set1 = {"apple", 1, "banana", 0, "cherry"}
set2 = {False, "google", 1, "apple", 2, True}
set3 = set1.intersection(set2)
print(set3)
自己動手試一試 »
差集
difference()
方法將返回一個新集合,其中只包含第一個集合中不存在於其他集合中的元素。
示例
保留 set1 中不包含在 set2 中的所有元素
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
自己動手試一試 »
您可以使用 -
運算子代替 difference()
方法,結果將相同。
示例
使用 -
合併兩個集合
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
自己動手試一試 »
注意: -
運算子只能合併集合與其他集合,而不能像 difference()
方法那樣與其他資料型別合併。
difference_update()
方法也保留第一個集合中不包含在其他集合中的元素,但它會更改原始集合而不是返回新集合。
示例
使用 difference_update()
方法保留不在兩個集合中的元素
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.difference_update(set2)
print(set1)
自己動手試一試 »
對稱差集
symmetric_difference()
方法將僅保留不包含在兩個集合中的元素。
示例
保留不包含在兩個集合中的元素
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
自己動手試一試 »
您可以使用 ^
運算子代替 symmetric_difference()
方法,結果將相同。
示例
使用 ^
合併兩個集合
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
自己動手試一試 »
注意: ^
運算子只能合併集合與其他集合,而不能像 symmetric_difference()
方法那樣與其他資料型別合併。
symmetric_difference_update()
方法也保留除重複項外的所有元素,但它會更改原始集合而不是返回新集合。
示例
使用 symmetric_difference_update()
方法保留不在兩個集合中的元素
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)
自己動手試一試 »