集合是一个无序的,不重复的数据组合,它的主要做用以下:python
经常使用操做测试
a = set([1,2,3,4,5]) b = set([4,5,6,7,8]) print(a.intersection(b)) #交集 {4, 5} print(a&b) print(a.union(b)) #并集 {1, 2, 3, 4, 5, 6, 7, 8} print(a|b) print(a.difference(b)) #插集、获得的是a里有的b里没有的 {1, 2, 3} print(a-b) print(b.difference(a)) #插集、获得的是b里有的a里没有的 {8, 6, 7} print(b-a) print(a.symmetric_difference(b)) #方向交集、{1, 2, 3, 6, 7, 8} print(a^b)
1 s = set([3,5,9,10]) #建立一个数值集合 2 3 t = set("Hello") #建立一个惟一字符的集合 4 5 6 a = t | s # t 和 s的并集 7 8 b = t & s # t 和 s的交集 9 10 c = t – s # 求差集(项在t中,但不在s中) 11 12 d = t ^ s # 对称差集(项在t或s中,但不会同时出如今两者中) 13 14 15 16 基本操做: 17 18 t.add('x') # 添加一项 19 20 s.update([10,37,42]) # 在s中添加多项 21 22 t.pop() #随机删除 t.disicard() 指定删除(元素不存在会报错) 23 24 使用remove()能够删除指定一项(元素不存在会报错): 25 26 t.remove('H') 27 28 29 len(s) 30 set 的长度 31 32 x in s 33 测试 x 是不是 s 的成员 34 35 x not in s 36 测试 x 是否不是 s 的成员 37 38 s.issubset(t) 39 s <= t 40 测试是否 s 中的每个元素都在 t 中 41 42 s.issuperset(t) 43 s >= t 44 测试是否 t 中的每个元素都在 s 中 45 46 s.union(t) 47 s | t 48 返回一个新的 set 包含 s 和 t 中的每个元素 49 50 s.intersection(t) 51 s & t 52 返回一个新的 set 包含 s 和 t 中的公共元素 53 54 s.difference(t) 55 s - t 56 返回一个新的 set 包含 s 中有可是 t 中没有的元素 57 58 s.symmetric_difference(t) 59 s ^ t 60 返回一个新的 set 包含 s 和 t 中不重复的元素 61 62 s.copy() 63 返回 set “s”的一个浅复制