Python 學習筆記(十)Python集合(三),python學習筆記
集合運算
元素與集合的關係
元素與集合的關係 ,就是判斷某個元素是否是集合的一員。"a" in aset
1 >>> s =set([1,2,3,4])2 >>> 1 in s #返回true 是集合中的一員3 True4 >>> 6 in s #返回false不是集合中的一員5 False6 >>>
集合與集合的關係
子集和超集
並集
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 111 >>> b12 set([2, 3, 4, 5])13 >>> b<a #判斷b是否為a的子集,用數學符號小於判斷 返回true ,說明b是a的子集14 True15 >>> b.issubset(a) #另一種判斷子集的方式,使用issubset().返回true 說明b是a的子集16 True17 >>> a>b #用數學符號大於符號判斷,a是否為b的超集。返回true,說明a是b的超集18 True19 >>> a.issuperset(b) #可用issuperset()判斷是否為超集,返回true,說明a是b的超集20 True21 >>> a22 set([1, 2, 3, 4, 5])23 >>> c =set([0,1,3,5,6])24 >>> a25 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 >>> d32 set([0, 1, 2, 3, 4, 5, 6])37 >>> d.issuperset(a) #d是a的超集38 True39 >>> 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 >>> a10 set([1, 2, 3, 4, 5])11 >>> c12 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 >>>