Python - 集合运算符


在数学集合论中,定义了并、交、差和对称差运算。Python 使用以下运算符实现它们 -

联合运算符 (|)

两个集合的并集是包含 A 或 B 或两者中的所有元素的集合。例如,

{1,2}∪{2,3}={1,2,3}

下图说明了两个集合的并集。

两个集合的并集

Python 使用“|” 符号作为联合运算符。以下示例使用“|” 运算符并返回两个集合的并集。

例子

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
s3 = s1 | s2
print ("Union of s1 and s2: ", s3)

它将产生以下输出-

Union of s1 and s2: {1, 2, 3, 4, 5, 6, 7, 8}

交叉点运算符 (&)

两个集合 AA 和 BB 的交集,记为 A∩B,由 A 和 B 中的所有元素组成。例如,

{1,2}∩{2,3}={2}

下图说明了两个集合的交集。

路口操作员

Python 使用“&”符号作为交集运算符。以下示例使用 & 运算符并返回两个集合的交集。

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
s3 = s1 & s2
print ("Intersection of s1 and s2: ", s3)

它将产生以下输出-

Intersection of s1 and s2: {4, 5}

差分运算符 (-)

差值(减法)定义如下。集合 A−B 由 A 中但不在 B 中的元素组成。例如,

If A={1,2,3} and B={3,5}, then A−B={1,2}

下图说明了两组的差异 -

差异运算符

Python 使用“-”符号作为差分运算符。

例子

以下示例使用“-”运算符并返回两个集合的差值。

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
s3 = s1 - s2
print ("Difference of s1 - s2: ", s3)
s3 = s2 - s1
print ("Difference of s2 - s1: ", s3)

它将产生以下输出-

Difference of s1 - s2: {1, 2, 3}
Difference of s2 - s1: {8, 6, 7}

请注意,“s1-s2”与“s2-s1”不同。

对称差分算子

A 和 B 的对称差用“A Δ B”表示,定义为

A Δ B = (A − B) ⋃ (B − A)

如果 A = {1, 2, 3, 4, 5, 6, 7, 8} 且 B = {1, 3, 5, 6, 7, 8, 9},则 A Δ B = {2, 4, 9 }。

下图说明了两组之间的对称差异 -

对称差

Python 使用“^”符号作为符号差分运算符。

例子

以下示例使用“^”运算符并返回两个集合的符号差。

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
s3 = s1 - s2
print ("Difference of s1 - s2: ", s3)
s3 = s2 - s1
print ("Difference of s2 - s1: ", s3)
s3 = s1 ^ s2
print ("Symmetric Difference in s1 and s2: ", s3)

它将产生以下输出-

Difference of s1 - s2: {1, 2, 3}
Difference of s2 - s1: {8, 6, 7}
Symmetric Difference in s1 and s2: {1, 2, 3, 6, 7, 8}