python中set.intersection的对面? [英] Opposite of set.intersection in python?

查看:20
本文介绍了python中set.intersection的对面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Python 中,您可以使用 a.intersection(b) 来查找两个集合共有的项目.

In Python you can use a.intersection(b) to find the items common to both sets.

有没有办法做到 disjoint 与此相反的版本?ab 不共有的项目;a 中的唯一项与 b 中的唯一项联合?

Is there a way to do the disjoint opposite version of this? Items that are not common to both a and b; the unique items in a unioned with the unique items in b?

推荐答案

你在寻找对称差;仅出现在集合 a 或集合 b 中的所有元素,但不能同时出现:

You are looking for the symmetric difference; all elements that appear only in set a or in set b, but not both:

a.symmetric_difference(b)

来自 set.symmetric_difference()方法文档:

From the set.symmetric_difference() method documentation:

返回一个新集合,其中包含集合或其他中的元素,但不能同时包含两者.

Return a new set with elements in either the set or other but not both.

如果 ab 都是集合,您也可以使用 ^ 运算符:

You can use the ^ operator too, if both a and b are sets:

a ^ b

set.symmetric_difference()other 参数采用任何可迭代对象.

while set.symmetric_difference() takes any iterable for the other argument.

输出等价于(a | b) - (a & b),两个集合的并集减去两个集合的交集.

The output is the equivalent of (a | b) - (a & b), the union of both sets minus the intersection of both sets.

这篇关于python中set.intersection的对面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆