集合运算
元素与集合的关系
元素与集合的关系 ,就是判断某个元素是否是集合的一员。"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 >>>