Python 集合常用操作
阿新 • • 發佈:2019-01-26
集合中的元素沒有重複值,元素值以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都可以使用