集合的创建
#集合的创建方式
'''
第一种创建方式使用{},自动去掉集合中的重复元素,只保留第一个
'''
s={2,3,4,'test',90,'aaa',2,3,4}
print(s)
print(type(s))
print("-------创建集合的方式---------------------")
#第二种创建方式,使用set()
s=set(range(6))
print(s)
print(set([3,23,43,23]))
print(set((3,4,23,23,34)))
print(set({2,23,45}))
print(set('ABCDEFG'))#集合中的元素是无序的
print(set())
#集合{},元组(),列表list[],字典dic{key,value},
集合的增删改查
s={10,20,30,40,50}
#集合的增删改查
s.add(80)#一次只能添加一个元素
print(s)
s.update({200,300,400}) #update:一次至少添加一个元素,有多种形式,{},(),[]
s.update([33])
s.update((44,1))
print(s)
#删除
s.remove(80) #不存在会抛出异常
print(s)
s.discard(11) #不存在不会抛出异常
print(s)
s.pop()#每次删除任意一个元素,不能指定参数
print(s)
s.clear()#清空集合
print(s)
集合间的关系
#集合间的关系
'''1.两个集合是否相等(元素相同,就相等,id一致)'''
s1={10,20,30,40}
s2={11,22,33,44}
print(s1==s2)
print(s1!=s2)
'''一个集合是否是另一个集合的子集'''
s1={10,20,30,40}
s3={10,20}
print(s3.issubset(s1))
print('----------------------------------')
'''一个集合是否是另一个集合的超集'''
print(s1.issuperset(s3))
print('-----------------------------------')
'''两个集合是否有交集'''
print(s3.isdisjoint(s1)) #有交集是false
print(s3.isdisjoint(s2)) #无交集是true
集合的数学操作
#集合的数学操作
'''1.交集'''
s1={10,20,30,40}
s2={20,30,40,50}
print(s1.intersection(s2))
print(s1&s2) #intersection与&等价,交集操作
'''2.并集操作'''
print(s1.union(s2))
print(s1|s2) #union与|等价,并集操作
'''3.差集操作'''
print(s1.difference(s2))
print(s1-s2)
print('~~~~~~~~~~~~~~~~~~~~~~')
'''4.对称差集'''
print(s1.symmetric_difference(s2))
print(s1^s2) #6上面的符合
集合的生成式
#集合生成式
s={i for i in range(10)}
print(s)