首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python : difference() vs symmetric_difference()

Python : difference() vs symmetric_difference()
EN

Stack Overflow用户
提问于 2018-06-15 07:57:56
回答 3查看 25.3K关注 0票数 32

python中的difference()和symmetric_difference()方法有什么区别?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-15 08:01:16

如果AB是集合

代码语言:javascript
复制
A - B

A中的一切,而不是B中的一切。

代码语言:javascript
复制
>>> A = {1,2,3}
>>> B = {1,4,5}
>>> 
>>> A - B
{2, 3}
>>> B - A
{4, 5}

A.symmetric_difference(B)所有的元素,它们恰好位于一个集合中,即A - BB - A的结合。

代码语言:javascript
复制
>>> A.symmetric_difference(B)
{2, 3, 4, 5}
>>> (A - B).union(B - A)
{2, 3, 4, 5}
票数 67
EN

Stack Overflow用户

发布于 2020-01-31 17:58:55

两个相交集(或一组事物)之间的差异与算术差不完全相同。

将上面的两组(蓝色和绿色)看作是相互交叉的两组或两组圆圈。黄色是相交的,属于两组的。

现在,考虑一下从蓝调中减去绿的设置结果。它应该有果岭吗?不,因为它们被减去了。它应该有黄色的吗?不,因为黄色也是绿色的。

那么从绿色植物中减去蓝调呢?当然,事实恰恰相反。

因此,你可以从一组或另一组中获取物品,但不能同时从两者中获得。我想向你介绍一下,我的小朋友,对称的区别。这家伙给你的是蓝色和绿色,但不是黄色。

代码语言:javascript
复制
>>> a = {1,2,3}
>>> b = {1,4,5}
>>> a - b       ## asymmetric difference
{2, 3}
>>> b - a       ## asymmetric difference
{4, 5}
>>> a ^ b       ## symmetric difference
{2, 3, 4, 5}

不对称的区别取决于您对ab做了什么,或者如何看待它们,按照什么顺序比较它们。看一看,你得到了一件事,看了另一种方式,你得到了不同的东西。从定义上说,对称差异并不在乎你是怎么看待它的。

请注意。这类似于异或的行为。因此,在python语言中选择了操作符。^也用作二进制异或,如果您给它的数字。

票数 7
EN

Stack Overflow用户

发布于 2018-06-15 08:01:19

difference

两个集合A和B的对称差是两个集合A或B中的元素集合,而不是两者中的元素集合。

当然,区别是不言而喻的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50871370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档