在数学中,集合常见的操作有 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() 方法来判断两个集合是否相交等。
