在 Python 中获取集和的差异
Muhammad Waiz Khan
2023年1月30日
2021年2月7日
-
在 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}