Python-集合

#集合————没有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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值