假设u和v都表示Python中的集合。在什么条件下我们可以保证u | v == u ^ v?

时间:2017-03-05 17:23:40

标签: python python-3.x set

我被困在了下面  问题PLZ解释一下。 假设u和v都表示Python中的集合。在什么条件下我们可以保证u | v == u ^ v?

我试过将设定值视为1,2,3& 4,5,6。我得到答案,因为v应该是u的子集。就像是正确的条件

3 个答案:

答案 0 :(得分:1)

  

为了你 - (u-v)== v 为真;设置 v 应为a   集合的子集 u

示例:

u = {1,2,3,4}
v = {3,4}  # Here, v is a subset of u
u-v = {1,2}
u - (u-v) = {3,4} == v # Hence, proved!

答案 1 :(得分:0)

对于两个不同的集合A和B,|运算符表示一个联合,它给出一个包含A和B元素的新集合和^,它是对称差异,它将为您提供一个包含元素的集合A或B,但不是两者。因此,如果两个集A和B没有任何公共项,则这些运算符返回相等的结果。换句话说,他们不应该有任何交集。

以下是一个例子:

In [13]: a = {1, 2}

In [14]: b = {3, 4, 7}

In [15]: a^b == a|b
Out[15]: True

In [16]: b = {3, 4, 7, 1}

In [17]: a^b == a|b
Out[17]: False

答案 2 :(得分:0)

必要和充分的条件是:

The sets are disjunct.

(即他们没有共同的成员。)

对于你的第二个问题,x在u ^ v中意味着

x belongs to one and only one of the two sets

(即它属于一个,但给其他人。)