集合

 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 '''

 

posted @ 2019-07-26 20:05  巨菜的小鸟  阅读(121)  评论(0编辑  收藏  举报