Python 集合 symmetric_difference()

symmetric_difference() 方法返回给定集合中存在的所有项目,但排除它们交集中的项目。

示例

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

# returns all items to result variable except the items on intersection result = A.symmetric_difference(B) print(result)
# Output: {'a', 'b', 'e'}

symmetric_difference() 语法

symmetric_difference() 方法的语法是

A.symmetric_difference(B)

这里,AB 是两个集合。


symmetric_difference() 参数

symmetric_difference() 方法接受一个参数

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

symmetric_difference() 返回值

symmetric_difference() 方法返回

  • 一个包含 AB 中所有项目,但排除相同项目的集合

示例 1:Python Set symmetric_difference()

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

# returns the symmetric difference of A and B to result variable result = A.symmetric_difference(B)
print(result)

输出

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

在上面的示例中,我们使用 symmetric_difference()AB 的对称差返回到结果变量

这里,'Python' 存在于集合 AB 中。因此,该方法将 AB 中除 'Python' 之外的所有项目返回到结果。


示例 2:Python Set symmetric_difference()

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

# returns empty set result = A.symmetric_difference(B)
print(result)

输出

set()

在上面的示例中,我们对两个集合 AB 使用了 symmetric_difference()。这里,AB 互为超集,这意味着 A 中的所有项目都存在于 B 中,反之亦然。

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


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

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

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

# works as (A).symmetric_difference(B) print(A ^ B) # symmetric difference of 3 sets print(A ^ B ^ C)

输出

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

在上面的示例中,我们使用了 ^ 运算符来查找 AB 以及 ABC 的对称差。使用 ^ 运算符,我们还可以找到 3 个集合的对称差。


另请阅读

在我们结束之前,让我们测试一下你对 Python 集合 symmetric_difference() 的知识!你能解决以下挑战吗?

挑战

编写一个函数来查找两个集合之间的对称差。

  • 返回结果集,它是输入集合的对称差。
  • 两个集合的对称差是集合中所有元素都在其中一个集合中,但不在它们的交集中的集合。
  • 例如,对于输入 {1, 2, 3, 4}{3, 4, 5, 6},结果应该是 {1, 2, 5, 6}
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战