在 Python 中获取集和的差异

Muhammad Waiz Khan 2023年1月30日 2021年2月7日
  1. 在 Python 中使用 set.symmetric_difference() 方法查找集合的差值
  2. 在 Python 中使用 for 循环查找集合中的差值
  3. 在 Python 中使用 XOR 运算符查找集合中的差值
在 Python 中获取集和的差异

本教程将讲解在 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}

相关文章 - Python Set