集合
1 # 概述:与dict相比,set是一组存储key的集合,但不存储value 2 # 本质:一个无序的及元素不重复的、可变的集合 3 4 # 一、集合的创建 5 # 语法格式:set(sep) 6 # 注:创建set需要将一个string或list或tuple或dict作为参数传入 7 # 注:重复的元素在set中会被自动过滤掉,只保留一份 8 # 1、String作为sep传入 9 set1 = set("abcdeababcc") 10 print(set1) 11 print(type(set1)) # set 12 # 2、List作为sep传入 13 set2 = set([1,2,3,3,2,4]) 14 print(set2) 15 # 3、Tuple作为sep传入 16 set3 = set((1,2,3,3,2,4)) 17 print(set3) 18 # 4、Dict作为sep传入:只保留key值 19 set4 = set({"a": 1, "b":2, "c":3}) 20 print(set4) 21 # 5、Number作为sep传入 报错 22 # set5 = set(100) # TypeError: 'int' object is not iterable 23 # print(set5) 24 25 # 二、添加数据 26 set6 = set([1,2,3]) 27 # 1、set.add(obj) 添加数据,只能添加不可变的数据类型 28 print(set6) 29 set6.add(4) 30 print(set6) 31 # set6.add([1,2]) # TypeError: unhashable type: 'list' 32 # print(set6) 33 set6.add(1) # 可以重复添加,但无效果 34 print(set6) 35 36 # 2、set.update(iter) 添加 将集合类型的数据打碎添加 37 # iter: string list tuple dict 38 set7 = set([1,2,3]) 39 print(set7) 40 # set7.update(100) # TypeError: 'int' object is not iterable 41 # print(set7) 42 set7.update("abc") 43 print(set7) 44 set7.update([5,6]) 45 set7.update((5,7)) 46 set7.update({"qq":100, "wx":200}) # 字典只保留key值 47 print(set7) 48 49 # 三、删除元素 set.remove(element) 50 set7.remove("wx") 51 print(set7) 52 # set7.remove(100) # KeyError: 100 53 54 # 四、是否可以使用下标的方式获取元素 不可以 55 # print(set7[0]) # TypeError: 'set' object does not support indexing 56 57 # 五、遍历 58 for i in set7: 59 print(i) 60 61 # 六、集合的操作 62 set10 = set([1,2,3,4,5]) 63 set11 = set([4,5,6,7,8]) 64 # & 交集 65 set12 = set10 & set11 66 print(set12) 67 # | 并集 68 set13 = set10 | set11 69 print(set13) 70 # ^ 补集 71 set14 = set10 ^ set11 72 print(set14) 73 74 75 76 # python中的数据结构 77 ''' 78 list 79 tuple 80 Number : int float 81 string 82 dict 83 set 84 bool 85 nonetype 86 '''