今天简单回顾了集合的一些基本概念,包括集合的创建,对集合操作,集合间的关系,集合的数学操作,和集合生成式
集合的创建
s = set(range(10)) #集合的创建。用函数set
print(s,type(s))
s1 = set([1,2,3,4]) # 将列表转变成集合
print(s1)
s2 = {1,2,3,4,5} # 用{}创建
print(s2,type(s2))
# 对集合进行操作
s3 = {0,1,2,3,4}
print(1 in s3)
print(1 not in s3) # 判断元素是否在集合中
s3.add(5) #向集合中添加元素
print(s3)
s3.update({8,9}) # 批量添加元素
print(s3)
s3.remove(1) # 删除指定元素,找不到会报错
print(s3)
s3.discard(2) # 找不到不会报错
print(s3)
s3.pop() # 随机删除一个
print(s3)
s3.clear() # 清空
print(s3)
集合间的关系
s1={1,2,3,4,5,6,7,8,9}
s2={1,2,3,4}
s3={1,2,3,11}
s4={1,2,3,4}
print(s1==s2) # 判断两个集合是否相等
print(s2==s4)
print((s2!=s4))
print(s2.issubset(s1)) #子集
print(s3.issubset(s1))
print(s1.issuperset(s2)) #超集
print(s2.isdisjoint(s3)) #是否没有交集
集合的数学操作
s1={1,2,3,4,5,6,7,8,9}
s2={1,2,3,4}
s3={1,2,3,11}
s4={1,2,3,11,22,44}
# 交集
print(s2.intersection(s3))
print(s2 & s3)
# 并集
print(s2.union(s4))
print(s2 | s4)
# 差集
print(s2.difference(s3))
print(s2-s3)
# 对称差集
print(s2.symmetric_difference(s3))
print(s2 ^ s3)
# 集合生成式
s = {j for j in range(20)}
print(s)