#--------------------------------------集合:set()/{} 的增删查核常用操作方法------------------------------------------------------
# 集合(set)是一个无序的不重复元素序列,属于可变数据类型(不可哈希)。
# 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
# 创建格式:
#
# parame = {value01,value02,...}
# 或者
# set(value)
# set1 = set([1,2,3,4])
# set2 = set({1:2,2:3,3:4})
# set3 = set('1',)
# set4 = {1,2,3,4,5,{1:'义佳军'}} #TypeError: unhashable type: 'dict'
#
# print(set1)
# print(set2)
# print(set3,type(set3))
# print(set4)
# set1 = {'yijiajun','yijiaxing','yijiaping'}
#增
# set1.add('haha') # add() 是随机增加
# set1.update('1') #update() 是随机增加
# print(set1)
#删
# set1.pop() #pop() 在集合中随机删除,有返回值
# print(set1)
# set1.remove('yijiajun') #按元素删除
# print(set1)
# set1.clear()
# print(set1)
# del set1 #删除一个集合
# print(set1)
#查 因为集合无序不重复的特点,只能使用for循环来查询
# for i in set1:
# print(i)
#集合的常用操作方法
# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# 交集 用& 或者intersection
# set3 = set1 & set2
# print(set3)
# print(set1.intersection(set2))
# 并集 用| 或者 union
# set4 = set1 | set2
# print(set4)
# print(set2.union(set1))
#反交集 除去共有的,合并 用symmetric_difference和^
# set5 = set1 ^ set2
# print(set5)
# print(set2.symmetric_difference(set1))
#差集 独有的 用-或者difference
# set6 = set1 -set2
# print(set6)
# print(set1.difference(set2))
# set1 = {1,2,3}
# set2 = {1,2,3,4,5}
#子集 用>< 或者issuebset
# set3 = set1 < set2
# set4 = set2 > set1
# print(set3)
# print(set4)
# print(set1.issubset(set2)) #set1 是set2子集
#超集 用><或者
# set5 = set1 < set2
# print(set5)
# print(set2.issuperset(set1)) #set2 是set1 的超集
#不可变的集合 frozenset
# set1 = frozenset([1,2,3,4,5])
# print(set1,type(set1))