#1.不同元素组成
#2.无序
#3.集合中的元素必须为不可变类型
a={1,2,3,4,5,(1,2,3)}
print(a)
#随机向集合添加元素
a.add("sjsj")
print(id(a))
#随机删除集合元素
a.pop()
print(id(a))
#清空
# a.clear()
# print(a)
#拷贝
# a1=a.copy()
# print(a1)
#指定删除元素
# a.remove(2)#删除元素不存在会报错
# print(a)
#删除元素不存在是不会报错
# a.discard((1,2,3))
# print(a)
python=[1,2,3]
linux=[1,2,"sb"]
#
#
p_s=set(python)
print(p_s)
l_s=set(linux)
#
#
# jo=p_s.intersection(l_s)#求交集
# print(p_s&l_s)
# print(jo)
#
#
# dif=p_s.difference(l_s)#求差集
# print(p_s - l_s)
# print(dif)
#
#
# #求并集
# print(p_s.union(l_s))#union不更新集合原来的值,只是返回一个并集
# print(p_s|l_s)
#
# #交差补集
# print(p_s.symmetric_difference(l_s))
# print(p_s^l_s)
python=[1,2,3]
linux=[1,2,"sb"]
p_s=set(python)
l_s=set(linux)
p_s.difference_update(l_s)#求完差集后更新p_s的数据
print(p_s)
#判断两个集合是否存在交集,若存在True
# s1={1,2}
# s2={3,5}
# s3={3,4}
# print(s1.isdisjoint((s2)))
s1={1,2}
s2={1,2,3}
print(s1.issubset(s2))#s1 是 s2的子集
print(s2.issuperset(s1))#s2 是 s1的父级
s1.update(s2)#更新集合多个值
print(s1)
# s=frozenset("hello")不可变集合
# print(s)
name=["alex","alex","tang"]
l=set(name)
print(l)
print(list(l))