# 集合也是一种容器类型的数据类型（序列），数据放在{}中，多个之间用逗号隔开
#  {1， 2，'22c'} 集合是无序的，不能通过索引取值，可以增删改，元素不能重复
# 集合可以进行数学中的集合相关操作，判断是否包含，
# 1、怎么声明集合
# a.声明一个变量，赋一个集合值
set0 = set()  # 创建一个空的集合
set1 = {1, 3, 2}
print(set1, type(set1))

# b.将其他数据转换成集合
set2 = set('adwdqqqaa12222333')  # 将其他数据转换成集合，自带去重
print(set2)

# 2、增删改查
# a、查：
# 注意:集合没办法单独获取一个元素
for item in set2:
    print(item)
print('=====')
# b、增：
# 集合.add（元素）在指定的集合中，添加指定的元素
# 集合1.update(集合2) ：将集合2中的元素添加到集合1中，自动去重

# c.删除：
# set.remove(元素) 在指定的集合中，删除指定的元素
set2.remove('a')
print(set2)
print('====')
# pop删除是随机删除一个
set2.pop()
print(set2)
set2.pop()
print(set2)


# 3、判断是否包含
"""
集合1 >= 集合2 ---判断集合1中是否包含集合2
集合1 <= 集合2 ---判断集合2中是否包含集合1
"""
print({1, 3, 4, 5, 7, 9} >= {1, 3})
print({1, 3, 4, 5, 7, 9} <= {1, 3})

# 4、数学的集合运算

"""求并集 ： | """
print({1, 3, 4, 5, 7, 9} | {1, 3, 99, 10, 5})

"""求交集： & """
print({1, 3, 4, 5, 7, 9} & {1, 3, 99, 10, 5})

"""求差集：-  (返回一个新的集合，包含前一个集合但后一个集合没有的元素)"""
print({1, 3, 4, 5, 7, 9} - {1, 3, 99, 10, 5})

"""求补集: ^ """
print({1, 3, 4, 5, 7, 9} ^ {1, 3, 99, 10, 5})

# 5、其他的方法
"""clear : 清空集合"""
set1.clear()
print(set1, type(set1))

"""len:获取集合中元素的个数"""
print(len(set1))

