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

我们两清 提交于 2021-02-17 02:44:30

集合运算

元素与集合的关系

元素与集合的关系 ,就是判断某个元素是否是集合的一员。"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 >>>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!