#集合————没有value的字典,与列表、字典一样为可变序列
#集合的创建
s = {23, 4, 5, 87, 'py', 4} #集合内元素不可重复,否则被覆盖
print(s, type(s))
s1 = set(range(6))
print(s1, type(s1))
s2 = set([12, 3, 45, 3, 6]) #根据列表创建
print(s2, type(s2))
s3 = set((1, 2, 3, 5, 2, 65)) #根据元组创建
print(s3, type(s3))
s4 = set('Python') #根据字符串创建
print(s4, type(s4))
s5 = set() #空集合
print(type(s5))
print('-------------------------------------------------')
#集合中元素的判断
print(5 in s)
print(6 not in s)
#集合元素的新增操作
print(s)
s.add(10) #一次添加一个元素
print(s)
s.update({16, 19, 81}) #至少添加一个元素
print(s)
s.update([35, 27, 32])
print(s)
s.update((56, 46, 37))
print(s)
#集合元素的删除操作
s.remove(56) #一次删除一个指定元素,指定元素不存在时抛出异常
print(s)
s.discard(87) #一次删除一个指定元素,指定元素不存在时也不出现异常
print(s)
s.pop() #随机删除一个元素,且不能指定参数
print(s)
s.pop()
print(s)
'''
s.clear() #清空集合中的所有元素
print(s)
'''
print('-------------------------------------------------')
#两个集合是否相等
s1 = {10, 20, 30, 40}
s2 = {30, 20, 40, 10}
print(s1 == s2)
print(s1 != s2)
#一个集合是否是另一个集合的子集
s2 = {20, 30, 70, 80}
s3 = {10, 20, 30, 40, 50, 60, 70}
print(s1.issubset(s3))
print(s2.issubset(s3))
#一个集合是否是另一个集合的超集
print(s3.issuperset(s1))
print(s3.issuperset(s2))
#两个集合是否含有交集
s4 = {50, 60, 70}
print(s1.isdisjoint(s4)) #无交集为True
print(s2.isdisjoint(s4)) #有交集为False
print('-------------------------------------------------')
#集合的数学运算
print(s1)
print(s2)
#(1)求交集
print(s1.intersection(s2))
print(s1 & s2)
#(2)求并集
print(s1.union(s2))
print(s1 | s2)
#(3)求差集
print(s1.difference(s2))
print(s1 - s2)
#(4)对称差集
print(s1.symmetric_difference(s2))
print(s1 ^ s2)
print('-------------------------------------------------')
#集合生成式
s = {i**2 for i in range(10)}
print(s)
Python-集合
最新推荐文章于 2024-09-15 22:31:42 发布