1.集合的定义
# 集合的定义
s0 = {"a", "b", "c"}
print(type(s0), s0)
# 若只写空{},会显示为字典
s1 = {}
print(type(s1))
# 若只写空{},会显示为字典
s1 = {}
print(type(s1))
# 空集合的表示方法
# 空集合表示为set()
s2 = set()
print(type(s2), s2)
2.集合的特性
# 集合的特性
# 不重复,相同元素只保存一个
s3 = {1, 2, 3, 42, 1, 3, 21, 2, 31, 34}
print(s3)
# 无序, 集合中没有先后顺序
s4 = set("hello world")
print(s4)
3.集合的常见操作
3.1集合的特性和遍历
# 集合的常用操作
# 集合的遍历
# 集合中只可放不可变类型
# 集合是可变类型
s5 = {10, 3.14, False, True, "hello", None, (1,)}
print(s5)
# 集合只有一种遍历方式
for e in s5:
print(e)
3.2len获取元素个数
# 集合的常见操作
# len获取元素个数
print(len(s5))
3.3 in判断元素是否在集合中
# in判断元素是否在集合中
print(11 in s5)
print(3.14 in s5)
3.4 添加元素
# 集合是可变类型
# 添加元素
r = s5.add(2)
print(s5, r)
# 添加集合
s5.update({1, 2, 3, 4, 5})
print(s5)
3.5随机删除一个
# 随机删除一个
s5.pop()
print(s5)
3.6 删除一个指定元素,如果没有则报错
# 删除一个指定元素,如果没有则报错
s5.remove(2)
print(s5)
3.7 删除集合中指定元素,如果没有也不报错
# 删除集合中指定元素,如果没有也不报错
s5.discard(3)
print(s5)
3.8集合的交并补差
s6 = {2, 3, 4}
s7 = {3, 4, 5}
# 交集
s8 = s6 & s7
print(s8)
s8 = s6.intersection(s7)
print(s8)
# 并集
s9 = s6 | s7
print(s9)
s9 = s6.union(s7)
print(s9)
# 差集
sat1 = s6 - s7
print(sat1)
sat1 = s6.difference(s7)
print(sat1)
# 补集
sat2 = s6.symmetric_difference(s7)
print(sat2)
3.9集合的判断
sat_1 = {1, 2, 3, 4, 5, 6, 7, 8}
sat_2 = {2, 3, 4, 5, 6, 7}
sat_3 = {9, 10, 11, 12, 13}
# 如果两个集合没有交集,则返回 True
print(sat_1.isdisjoint(sat_3))
# 另一个集合是否包含此集合
print(sat_2.issubset(sat_1))
# 此集是否包含另一个集合
print(sat_1.issuperset(sat_2))