'''
set:类似dict,是一组key的集合,不存储value
本质:无序和无重复元素的集合
用途:经常用于去除list和tuple中的重复元素
'''
#创建
#创建set 需要一个list或者tuple或者dict作为输入集合
#重复元素在set中会自动被过滤
set1 = set([1, 2, 2, 2, 3, 4, 5])
print(set1)
set2 = set((1, 2, 3, 1, 2, 3))
print(set2)
set3 = set({1:"2" , 3: "4", 5: "2"})
print(set3)
#添加 注意;列表不能作为key,而set里面存的就是key,所以不能添加list[]
set1.add(5)
print(set1)
set2.add((1,2,1,5))
print(set2)
#set3.add({1,2}) #会报错
#插入整个list tuple 字符串,打碎插入
set1.update([12,3])
print(set1)
set1.update((22,23,24,24))
print(set1)
set1.update("name")
print(set1)
#删除
set1.remove("n")
print(set1)
set1.remove(2)
print(set1)
#遍历
for i in set1:
print(i)
#注意:set没有索引
for index, data in enumerate(set1):
print(index,data)
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
#交集
a1 = s1 & s2
print(a1)
print(type(a1))
#并集
a2 = s1 | s2
print(a2)
print(type(a2))
#list -> set
l1 = [1, 2, 3, 4]
set3 = set(l1)
#tuple -> set
t1 = (1, 2, 3)
s4 =set(t1)
print(s4)
#去重
list5 =[1, 1, 2, 3, 4, 3, 4]
print(list5)
list6 = list(set(list5))
print(list6)