st = [1,2,3,4,5]
ct = [2,3,4,5,76]
list = set(["name", 'list', 'try'])
list2 = set(["name", 'list', 'try', 'but', 'test'])
# 两个列表去重,利用集合
st = set(st) #设为集合
ct = set(ct)
print(st, type(st))
sct0 = st.union(ct) #并集
sct = st | ct #并集
sct2 = st.intersection(ct) #交集
sct1 = st & ct #交集
sct3 = st.difference(ct) #差集
sct4 = st - ct #差集,st中减去ct中的元素
print(sct0)
print(sct)
print(sct1)
print(sct2)
print(sct3)
print(sct4)
print(list.intersection(list2))
#子集
sct_0 = set([2, 3])
print(sct_0.issubset(st)) #判断前者是否为后者的子集
print(sct_0.issuperset(st))#判断前者是否为后者的父集
#对称差集
print(st.symmetric_difference(ct)) # 去掉两者的并集
print(st.copy())
cp_st = st.copy()
print(cp_st)
#添加单个元素
cp_st.add(11)
print(cp_st)
print('%s st list is here' % st) #会发现st中没有变
#添加多个元素,位置是随机的
cp_st.update([11, 22, 'key'])
print(cp_st)
#判断是否交集是空
print(cp_st.isdisjoint(list2))
#去除一个元素
cp_st.remove(11)
print(cp_st)
cp_st.add("str")
print(cp_st)
cp_st.remove('str')
print(cp_st)
cp_st.pop() #这个算是随机删除
print(cp_st)
cp_st.discard('key') #指定删除哪一个,最好是数字,但是不是数字也能用。会有提示
print(cp_st)