Opposite of set.intersection in python?(python中set.intersection的对面?)
问题描述
在 Python 中,您可以使用 a.intersection(b) 来查找两个集合共有的项目.
In Python you can use a.intersection(b) to find the items common to both sets.
有没有办法做到 disjoint 与此相反的版本?a 和 b 不共有的项目;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.
如果 a 和 b 都是集合,您也可以使用 ^ 运算符:
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的对面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:python中set.intersection的对面?
基础教程推荐
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
