Python Set symmetric_difference_update() 方法



Python Set symmetric_difference_update() 方法用于通过删除两个集合共有的元素并插入任一集合独有的元素来修改集合。它使用自身与另一个集合的对称差值来更新调用该方法的集合。

它不会返回新集,但会就地修改原始集。此操作类似于布尔逻辑中的 XOR 操作。它有效地处理两个集的并集,同时排除交集,交集会导致集包含任何一个集独占的元素。

语法

以下是 Python Set symmetric_difference_update() 方法的语法和参数 -


 set.symmetric_difference_update(other)

参数

此方法接受另一个 set 或任何可迭代对象,并将此 iterable/set 的元素与当前 set 对象进行比较以查找对称差异。

返回值

此方法不返回任何值。

示例 1

以下是 python set symmetric_difference_update() 方法的基本示例,其中 set1 被更新为包含仅在 set1 或 set2 中但不在两者中的元素 -


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

set1.symmetric_difference_update(set2)
print(set1) 		

输出

{1, 2, 4, 5}

示例 2

在这个例子中,我们用空集检查集合的对称差值,并使用 symmetric_difference_update() 方法更新结果 -


set1 = {1, 2, 3}
set2 = set()

set1.symmetric_difference_update(set2)
print(set1) 	

输出

{1, 2, 3}

示例 3

下面是我们检查所有元素的示例,这些元素在两组中都是通用的 -


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

set1.symmetric_difference_update(set2)
print(set1) 	

输出

set()

示例 4

在此示例中,我们将检查两个集合之间是否没有公共元素,然后更新 set1 以包含两个集合中的所有元素 -


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

set1.symmetric_difference_update(set2)
print(set1) 	

输出

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