跳到主要内容

Python Set symmetric_difference() 方法

symmetric_difference() 方法返回给定集合中的所有项,除了它们交集中的项。

示例

A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }

# 返回除交集项以外的所有项到 result 变量
result = A.symmetric_difference(B)
print(result)

# 输出: {'a', 'b', 'e'}

symmetric_difference() 语法

symmetric_difference() 方法的语法是:

A.symmetric_difference(B)

这里,A 和 B 是两个集合。

symmetric_difference() 参数

symmetric_difference() 方法接受单个参数:

  • B - 与集合 A 配对以找到它们的对称差集的集合

symmetric_difference() 返回值

symmetric_difference() 方法返回:

  • 一个包含 A 和 B 的所有项但排除相同项的集合

示例 1:Python 集合 symmetric_difference()

A = {'Python', 'Java', 'Go'}
B = {'Python', 'JavaScript', 'C' }

# 返回 A 和 B 的对称差集到 result 变量
result = A.symmetric_difference(B)

print(result)

输出

{'Go', 'Java', 'C', 'JavaScript'}

在上述示例中,我们使用了 symmetric_difference() 来返回 A 和 B 的对称差集到 result 变量。

这里,'Python' 存在于集合 A 和 B 中。因此,该方法返回除 'Python' 以外 A 和 B 的所有项到 result。

示例 2:Python 集合 symmetric_difference()

A = {'a', 'b', 'c'}
B = {'a', 'b', 'c'}

# 返回空集合
result = A.symmetric_difference(B)

print(result)

输出

set()

在上述示例中,我们对两个集合 A 和 B 使用了 symmetric_difference()。这里,A 和 B 是彼此的超集,意味着 A 的所有项都存在于 B 中,反之亦然。

在这种情况下,该方法返回一个空集合。

示例 3:使用 ^ 运算符求对称差集

我们也可以使用 Python 中的 ^ 运算符来找到对称差集。例如,

A = {'a', 'b', 'c', 'd'}
B = {'c', 'd', 'e' }
C = {'i'}

# 作用与 (A).symmetric_difference(B) 相同
print(A ^ B)

# 三个集合的对称差集
print(A ^ B ^ C)

输出

{'a', 'b', 'e'}
{'b', 'a', 'i', 'e'}

在上述示例中,我们使用了 ^ 运算符来找到 A 和 B 以及 A、B 和 C 的对称差集。使用 ^ 运算符,我们也可以找到三个集合的对称差集。