#皇城根儿
#集合:是无序的、不重复的;1、去重;2、关系测试
#创建集合
#创建数字集合
number=set([1,3,5,7,9]) #数字型集合
str_type=set(["im","is","are"])#字符串集合
#列表转换成集合
list_1=[1,4,5,7,9]
list_1=set(list_1) #赋值
print(list_1,type(list_1))#type():查看数据类型
#关系测试
#交集(公共部分)
# 交集分为两种形式。
#第一种 使用intersection
list_2=set([0,2,66,4,6,8,22])
print(list_1.intersection(list_2))
#第二种使用运算符号求交集 &
print(list_1&list_2)
#并集(两个集合相加)
#并集也共分为两个部分
#第一部分使用公式 union
print(list_1.union(list_2))
#第二种方式使用运算符号来求并集 a|b
print(list_1|list_2)
#差集(两个集合相减)
#使用difference
print(list_1.difference(list_2))
#使用运算符号 -
print(list_1-list_2)
#对称交集(并集-交集)
#使用公式symmetric_differece
print(list_1.symmetric_difference(list_2))
#----------判断-----------
#判断集合大小,是否属于包含关系
#判断子集
list_3=set([1,5])
print(list_3.issubset(list_1))
print(list_1.issuperset(list_3))
#判断是否无交集 使用公司 isdisjoint
print(list_1.isdisjoint(list_2))
#------集合的其他公式--------
#浅复制
list_5=list_1.copy()
print(list_5)
print(len(list_1))
#增加 一项使用add
list_1.add(99)
print(list_1)
#增加多项
list_1.update([99,4,91,12])
print(list_1)
#删除
#删除一项是remove 注意:remove指定集合中没有的相会产生报错
list_1.remove(99)
#删除还有一项是discard------删除之后不会报错
list_1.discard(25)
#随机删除 pop()-----括号内不能填东西
list_1.pop()
print(list_1)