# coding:utf-8
# 集合
# 1, 集合set 是一个无序,不重复的元素序列,可以使用{} 或者 set()函数创建集合,创建一个空集合必须用set(), 而不是{}, 因为{} 是用来创建空字典
# 2, 集合元素都只能是笔可变对象元素
# 3,集合与列表区别:a, 集合元素不重复,列表元素可重复;b, 集合是无序的,没有索引操作,列表是有序的;
# 4,集合操作:
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6, 7}
# 4.1 合并多个集合
set3 = set1 | set2
print('合并集合', set3)
# 4.2 集合中删除元素
set4 = {1, 2, 3, 4}
set5 = {3, 4, 5, 6, 7}
set6 = set4 - set5
print('删除元素', set6)
# 4.3 取交集 &
set7 = {1, 2, 3, 4}
set8 = {3, 4, 5, 6, 7}
set9 = set7 & set8
print('交集', set9)
# 4.4 取差集
set10 = {1, 2, 3, 4}
set11 = {3, 4, 5, 6, 7}
set12 = set10 ^ set11
print('差集', set12)
# 5, 关键字 in
res = 1 in set10
print(res)
# 6, 常见方法
# 新增 add(item); remove(item) 删除;clear() 清空所有;union() 返回两个集合的并集;
# intersection() 返回两个集合的交集; issubset() 判断是否是子集; issuerset() 判断是否是超集
set13 = {1,2,3, 11}
set14 = {11,12,13}
set13.add(5)
print(set13)
set13.remove(2)
print(set13)
set15 = set13.union(set14)
print(set15)
set16 = set13.intersection(set14)
print(set16)
res2 = set13.issubset(set14)
res3 = set13.issuperset(set14)