在 Python 中獲取集和的差異
Muhammad Waiz Khan
2023年10月10日
-
在 Python 中使用
set.symmetric_difference()
方法查詢集合的差值 -
在 Python 中使用
for
迴圈查詢集合中的差值 -
在 Python 中使用
XOR
運算子查詢集合中的差值
本教程將講解在 Python 中尋找兩個集合之間差異的各種方法。所謂的差異,是指兩個集合之間不共同的元素。
例如:
set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])
這兩個集合之間的差值應該是 1,4,5,8
。
在 Python 中使用 set.symmetric_difference()
方法查詢集合的差值
set.symmetric_difference()
方法將另一個集合作為輸入,並返回它們之間的差值。下面的示例程式碼解釋瞭如何使用 set.symmetric_difference()
來獲取兩個集合中不共同的元素,並得到所需的差值。
set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])
diff_set = set1.symmetric_difference(set2)
print(diff_set)
輸出:
{1, 4, 5, 8}
在 Python 中使用 for
迴圈查詢集合中的差值
為了找到兩個集合中的差異,我們可以使用 for
迴圈遍歷兩個集合,檢查另一個集合中是否存在相同的元素,如果它們是唯一的,則將其新增到列表中。而兩個集合中存在的元素將被忽略。
示例程式碼
set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])
temp1 = [x for x in set1 if x not in set2]
temp2 = [x for x in set2 if x not in set1]
diff_set = set(temp1 + temp2)
print(diff_set)
輸出:
{8, 1, 4, 5}
在 Python 中使用 XOR
運算子查詢集合中的差值
找出集合差異的一個簡單方法是對它們應用 XOR
運算,這樣就會放棄相同的元素,只會按要求返回兩個集合中不相同的元素。
為了在程式碼中實現這一點,我們可以在兩個集合之間使用^
運算子來獲得所需的集合差異。
set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])
diff_set = set(set1) ^ set(set2)
print(diff_set)
輸出:
{1, 4, 5, 8}