集合运算
元素与集合的关系
元素与集合的关系 ,就是判断某个元素是否是集合的一员。"a" in aset
1 >>> s =set([1,2,3,4])
2 >>> 1 in s #返回true 是集合中的一员
3 True
4 >>> 6 in s #返回false不是集合中的一员
5 False
6 >>>
集合与集合的关系
子集和超集
并集
1 >>> a =set([1,2,3,4,5])
2 >>> b =set([1,2,3,4,5])
3 >>> id(a)
4 64659240L
5 >>> id(b) #a 与b 的内存地址不同,是两个不同的对象
6 64656104L
7 >>> a == b #判断a与b是否相等,相等返回true
8 True
9 >>> b.pop() #删除b中的一个元素
10 1
11 >>> b
12 set([2, 3, 4, 5])
13 >>> b<a #判断b是否为a的子集,用数学符号小于判断 返回true ,说明b是a的子集
14 True
15 >>> b.issubset(a) #另一种判断子集的方式,使用issubset().返回true 说明b是a的子集
16 True
17 >>> a>b #用数学符号大于号判断,a是否为b的超集。返回true,说明a是b的超集
18 True
19 >>> a.issuperset(b) #可用issuperset()判断是否为超集,返回true,说明a是b的超集
20 True
21 >>> a
22 set([1, 2, 3, 4, 5])
23 >>> c =set([0,1,3,5,6])
24 >>> a
25 set([1, 2, 3, 4, 5])
26 >>> a |c #取a与c的并集
27 set([0, 1, 2, 3, 4, 5, 6])
28 >>> a.union(c) #取a与c的并集
29 set([0, 1, 2, 3, 4, 5, 6])
30 >>> d =a.union(c)
31 >>> d
32 set([0, 1, 2, 3, 4, 5, 6])
37 >>> d.issuperset(a) #d是a的超集
38 True
39 >>> d.issuperset(c) #d也是b的超集
40 True
交集 ,两个集合的公有部分
集合的差(补)
1 >>> a
2 set([1, 2, 3, 4, 5])
3 >>> c
4 set([0, 1, 3, 5, 6])
5 >>> a & c #符号方法:求a与c集合的交集
6 set([1, 3, 5])
7 >>> a.intersection(c) #intersection()求交集
8 set([1, 3, 5])
9 >>> a
10 set([1, 2, 3, 4, 5])
11 >>> c
12 set([0, 1, 3, 5, 6])
13 >>> a -c #集合a相对集合c多出来的元素
14 set([2, 4])
15 >>> a.difference(c) #集合a相对集合c多出来的元素
16 set([2, 4])
17 >>> c -a #集合c相对集合a多出来的元素
18 set([0, 6])
19 >>> c.difference(a) #集合c相对集合a多出来的元素
20 set([0, 6])
21 >>> a.symmetric_difference(c) #对称差集,集合a相对集合c,以及集合c相对集合a,差集的并集,即两个集合中不同的部分
22 set([0, 2, 4, 6])
23 >>>
来源:oschina
链接:https://my.oschina.net/u/4366204/blog/4046950