Python 集合运算

在数学中,集合常见的操作有 4 种:求交集、求并集、求差集、求对称差。实际上,Python 中的集合也有这 4 种操作。

Python 求交集

交集运算,指的是找出两个集合中共同的元素。在 Python 中,可以使用 “&” 运算符或 intersection() 方法来求集合的交集。

语法:

s1 & s2
s1.intersection(s2)

示例 1:使用 “&” 运算符

result = {1, 2, 3, 4, 5} & {4, 5, 6}
print(result)

运行结果如下。

{4, 5}

示例 2:使用 intersection() 方法

result = {1, 2, 3, 4, 5}.intersection({4, 5, 6})
print(result)

运行结果如下。

{4, 5}

Python 求并集

并集运算,指的是找出两个集合中所有的元素。在 Python 中,可以使用 “|” 运算符或 union() 方法来求集合的交集。

语法:

s1 | s2
s1.union(s2)

示例 3:使用 “|” 运算符

result = {1, 2, 3, 4, 5} | {4, 5, 6}
print(result)

运行结果如下。

{1, 2, 3, 4, 5, 6}

示例 4:使用 union() 方法

result = {1, 2, 3, 4, 5}.union({4, 5, 6})
print(result)

运行结果如下。

{1, 2, 3, 4, 5, 6}

Python 求差集

差集运算,指的是找出存在于一个集合中但不存在于另一个集合中的元素。在 Python 中,可以使用 “-” 运算符或 difference() 方法来求集合的差集。

语法:

s1 - s2
s1.difference(s2)

示例 5:使用 “-” 运算符

result = {1, 2, 3, 4, 5} - {4, 5, 6}
print(result)

运行结果如下。

{1, 2, 3}

示例 6:使用 difference() 方法

result = {1, 2, 3, 4, 5}.difference({4, 5, 6})
print(result)

运行结果如下。

{1, 2, 3}

Python 求对称差集

对称差集运算,指的是找出所有只存在于单个集合中但不在于两个集合交集中的元素。在 Python 中,可以使用 “^” 运算符或 symmetric_difference() 方法来求集合的差集。

语法:

s1 ^ s2
s1.symmetric_difference(s2)

示例 7:使用 “^” 运算符

result = {1, 2, 3, 4} ^ {3, 4, 5, 6}
print(result)

运行结果如下。

{1, 2, 5, 6}

示例 8:使用 symmetric_difference() 方法

result = {1, 2, 3, 4}.symmetric_difference({3, 4, 5, 6})
print(result)

运行结果如下。

{1, 2, 5, 6}

提示: Python 还提供了非常多用于判断两个集合关系的方法,比如使用 isdisjoint() 方法来判断两个集合是否相交等。

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号