练习代码:
#set:类似dict,是一组key的集合,不存储value #本质:无序和无重复元素的集合 #创建set需要一个list或者tuple或者dict作为输入集合 #重复的在set中会自动被过滤 s1 = set([1,2,3,4,5,3,5,6,4,7,8,9]) print(s1) s2 = set((1,2,3,3,2,1)) print(s2) s3 = set({1:"good",2:"nice"}) print(s3) #添加 s4 = set([1,2,3,4,5]) s4.add(6) s4.add(3) #可以添加重复的,但是不会有效果 #s4.add([7,8,9]) 报错 list可变,set要求存储的元素不可变 s4.add((7,8,9)) #s4.add(1:"a") 报错 字典可变,set要求存储的元素不可变 print(s4) print("**********") #插入整个list,tuple,字符串,打碎插入 s5 = set([1,2,3,4,5]) s5.update([6,7,8]) s5.update((9,10)) s5.update("sunck") print(s5) print("**********") #删除 s6 = set([1,2,3,4,5]) s6.remove(3) print(s6) print("**********") #遍历, set没有索引 s7 = set([1,2,3,4,5]) for i in s7: print(i) print("**********") s8 = set([1,2,3,4,5]) s9 = set([3,4,5,6,7]) #交集 a1 = s8 & s9 print(a1) print(type(a1)) #并集 a2 = s8 | s9 print(a2) print(type(a2)) print("**********") #类型转换 #list -> set l1 = [1,2,3,4,5,6,2,3] s1 = set(l1) print(s1) print("**********") #tuple -> set t2 = (1,2,3,4,5) t3 = set(t2) print(t3) print("**********") # set -> list t4 = {1,2,3,4} l3 = list(t4) print(l3) print("**********") #set -> tuple t5 = {2,3,4,5} l4 = tuple(t5) print(l4) print("**********") #list 去重复 l = [1,2,3,4,5,6,3,2,1,5,] s =set(l) print(s)
运行效果:
D:\pycharm\python\venv\Scripts\python.exe D:/pycharm/python/015set.py
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3}
{1, 2}
{1, 2, 3, 4, 5, 6, (7, 8, 9)}
**********
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 's', 'u', 'k', 'n', 'c'}
**********
{1, 2, 4, 5}
**********
1
2
3
4
5
**********
{3, 4, 5}
<class 'set'>
{1, 2, 3, 4, 5, 6, 7}
<class 'set'>
**********
{1, 2, 3, 4, 5, 6}
**********
{1, 2, 3, 4, 5}
**********
[1, 2, 3, 4]
**********
(2, 3, 4, 5)
**********
{1, 2, 3, 4, 5, 6}
Process finished with exit code 0