day3-集合

集合

集合是无序的,它的作用如下:

1. 去重

2. 关系测试

 1 >>> name_1 = [1,2,3,4,7,8,7,10]
 2 # 去重
 3 >>> name_1 = set(name_1)
 4 >>> name_1
 5 set([1, 2, 3, 4, 7, 8, 10])
 6 >>> name_2 = [1,3,5,8,10]
 7 >>> name_2 = set(name_2)
 8 # 交集(&)
 9 >>> name_1.intersection(name_2)
10 set([8, 1, 10, 3])
11 >>> name_1 & name_2
12 set([8, 1, 10, 3])
13 # 并集(|)
14 >>> name_1.union(name_2)
15 set([1, 2, 3, 4, 5, 7, 8, 10])
16 >>> name_1 | name_2
17 set([1, 2, 3, 4, 5, 7, 8, 10])
18 # 差集(-),1里有2里无
19 >>> name_1.difference(name_2)
20 set([2, 4, 7])
21 >>> name_1 - name_2
22 set([2, 4, 7])
23 # 差集, 2里有1里无
24 >>> name_2.difference(name_1)
25 set([5])
26 >>> name_3 = set([1,2,3])
27 # 判断是否为子集(<=)
28 >>> name_3.issubset(name_1)
29 True
30 >>> name_3 <= name_1
31 True
32 # 判断是否为父集(>=)
33 >>> name_1.issuperset(name_3)
34 True
35 >>> name_1 >= name_3
36 True
37 # 对称差集(^),全集-交集
38 >>> name_1.symmetric_difference(name_2)
39 set([2, 4, 5, 7])
40 >>> name_1 ^ name_2
41 set([2, 4, 5, 7])
42 #判断是否没有交集,没有交集返回True
43 >>> name_1.isdisjoint(name_2)
44 False
45 
46 # 添加一项
47 >>> name_1.add(11)
48 >>> name_1
49 set([1, 2, 3, 4, 7, 8, 10, 11])
50 # 添加多项
51 >>> name_1.update([13,14,15])
52 >>> name_1
53 set([1, 2, 3, 4, 7, 8, 10, 11, 13, 14, 15])
54 # 移除元素2,没有会报错
55 >>> name_1.remove(2)
56 # 随机移除某个元素
57 >>> name_1.pop()
58 1
59 >>> name_1
60 set([3, 4, 7, 8, 10, 11, 13, 14, 15])
61 # 移除某个元素,没有不会报错
62 >>> name_1.discard(9)
63 >>> name_1.discard(11)
64 >>> name_1
65 set([3, 4, 7, 8, 10, 13, 14, 15])
66 # 获取长度
67 >>> len(name_1)
68 8
69 # 判断某个元素是否存在
70 >>> 7 in name_1
71 True
72 >>> 7 not in name_1
73 False

 

posted @ 2017-06-21 14:59  不知所以  阅读(87)  评论(0)    收藏  举报