Python:set集合运算 - 并集、交集、对称差集、子集

简介:集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

图解:

Python:set集合运算 - 并集、交集、对称差集、子集_第1张图片

源码:

# -*- coding: utf-8 -*-
# time: 2022/5/23 23:00
# file: setDemo.py
# 公众号: 玩转测试开发

# 交集: intersection 或 &
# 并集: union 或 |
# 差集: difference 或 -
# 对称差集 = 两个集合的 并集 减去 交集
# 子集: issubset 或 issuperset

s1 = {"a", "b"}
s2 = {"b", "c", "d"}
s3 = {"b"}

# 交集
print("****** 交集 ******")
print(s1.intersection(s2))  # {'b'}
print(s1 & s2)  # {'b'}

# 并集
print("****** 并集 ******")
print(s1.union(s2))  # {'a', 'b', 'c', 'd'} 不含重复元素
print(s1 | s2)  # {'a', 'b', 'c', 'd'} 不含重复元素

# 差集
print("****** 差集 ******")
print(s1.difference(s2))  # s1 - s2 = {'a'}
print(s1 - s2)  # s1 - s2 = {'a'}
print(s2.difference(s1))  # s2 - s1 = {'c', 'd'}

# 对称差集 = 两个集合的 并集 减去 交集
print("****** 对称差集 ******")
print(s1.symmetric_difference(s2))  # {"a", "b", "c", "d"} - {"b"} = {"a","c", "d"}
print(s1 ^ s2)

# 子集
print("****** 子集 ******")
# s3 的所有元素是否都包含在集合 s2 中: True
print(s3.issubset(s2))

# 判断集合 s3 的所有元素是否都包含在集合 s2 中: True
print(s2.issuperset(s3))

微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!

你可能感兴趣的:(Python学习,python)