Python 学习笔记(十)Python集合(三)

集合运算

元素与集合的关系

元素与集合的关系 ,就是判断某个元素是否是集合的一员。"a" in aset

>>> s =set([1,2,3,4])
 >>> 1 in s  #返回true 是集合中的一员
 True
 >>> 6 in s  #返回false不是集合中的一员
 False
 >>>

集合与集合的关系

子集和超集

并集

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<br />

交集 ,两个集合的公有部分

集合的差(补)

>>> a
 set([1, 2, 3, 4, 5])
 >>> c
 set([0, 1, 3, 5, 6])
 >>> a & c  #符号方法:求a与c集合的交集
 set([1, 3, 5])
 >>> a.intersection(c) #intersection()求交集
 set([1, 3, 5])
 >>> a
 set([1, 2, 3, 4, 5])
 >>> c
 set([0, 1, 3, 5, 6])
 >>> a -c  #集合a相对集合c多出来的元素
 set([2, 4])
 >>> a.difference(c) #集合a相对集合c多出来的元素
 set([2, 4])
 >>> c -a  #集合c相对集合a多出来的元素
 set([0, 6])
 >>> c.difference(a) #集合c相对集合a多出来的元素
 set([0, 6])
 >>> a.symmetric_difference(c) #对称差集,集合a相对集合c,以及集合c相对集合a,差集的并集,即两个集合中不同的部分
 set([0, 2, 4, 6])
 >>>

相关推荐