1. 程式人生 > >Python 集合常用操作

Python 集合常用操作

集合中的元素沒有重複值,元素值以list為輸入。分為可變物件集合set和不可變物件集合frozenset可變集合set(1)建立空集合:set = ()(2)建立有資料的集合: set1 = set([1,2,3])   集合需要以list為輸入(3)判斷元素是否在集合中: 2 in set1   在集合中返回True  ,不在集合中返回False(4)判斷元素不在集合中: 4  not  in  set1   不在集合中返回True  ,在集合中返回False(5)新增元素: set1.add('4')  (6)隨機刪除集合中的一個元素:set1.pop()  返回被刪除的元素值(7)刪除集合中指定的元素:set1.remove(3)  刪除不存在的元素直接報錯(8)刪除集合中指定的元素:set1.discard(4)  刪除不存在的元素不會報錯(9)清空元素:set1.clear()(10)複製集合:set2 = set2.copy()   生成一個新的集合物件(11)兩個集合的差集: set1.difference(set2)   返回集合set1 有但是set2沒有的值(set2有set1沒有的值不返回)(12)找出差集並更新對比的集合:set1.difference(set2)  將set1中有set2中沒有的值覆蓋set1原有的值(set1改變,set2不變)(13)集合並集:set1.union(set2) 返回兩個集合合併之後的集合,生成一個新的集合(14)並集更新操作:set1.update(set2)  兩個集合的並集覆蓋set1原有的集合值(15)集合的交集:  set1.intersection(set2)   返回兩個集合的交集,生成新的物件(16)集合交集並更新:set1.intersection_update(set2)  兩個集合的交集覆蓋集合set1原來的值,不會生成新的物件(17)檢測當前集合是否是另外一個集合的超集:  set1.issuperset(set2)   是超集返回True,不是超集返回False(18)檢測當前集合是否是另外一個集合的子集:set1.issubset(set2)  是子集返回True,不是子集返回False(19)檢測兩個集合是否不存在交集:set1.isdisjoint(set2)  不存在交集返回True   ,存在交集返回False(20)兩個集合的對稱差集:set1.symmetric_difference(set2)   會生成一個新的集合物件(21)對稱更新差集: set1.symmetric_difference_update(set2)  不會生成一個新的集合物件(22)遍歷集合:def fun_set(sets):    for set in sets:        print set不可變集合frozenset,集合物件不可被修改(1)建立空的集合: frozen = frozenset()(2)建立有資料的集合:frozen = frozenset(('a','b','c'))(3)判斷元素是否在集合中: 'c'  in  frozen(4)遍歷集合:def fun_frozen(frozens):    for frozen in frozens:        print frozen(5)複製集合:frozen1 = frozen.copy() 生成一個新的物件備註:不修改集合物件本身的方法frozenset都可以使用