python3 集合

集合: 數學上,把set稱作由不同的元素組成的集合,集合(set)的成員通常被稱做集合元素。 集合對象是一組無序排列的可哈希的值。 集合有兩種類型: 1、可變集合set 2、不可變集合frozenset 特點: 1、值不可以重複 創建可變集合set >>> s1 = set('hello') >>> s1 {'h', 'l', 'o', 'e'} #值不可以重複,所以兩個L合併成一個L 創建不可變集合frozenset >>> s2 = frozenset('hello') >>> s2 frozenset({'h', 'l', 'o', 'e'}) 創建整體集合: >>> s3 = set(['hello', 'world']) >>> s3 {'hello', 'world'} 集合類型操作符: 集合支持用in和not in操作符檢查chengy 能夠通過len()檢查集合大小 能夠使用for迭代集合成員 不能取切邊,沒有鍵 >>> s3 = set(['hello', 'world']) >>> s3 {'hello', 'world'} >>> len(s3) 2 >>> for i in s3: #迭代集合成員 ... print(i) ... hello world | :聯合,取並集 #兩個集合合併成一個,相同集合元素合併,可以用函數union表示 >>> a | b {'e', 'b', 'c', 'a', 'd'} >>> a.union(b) {'e', 'b', 'c', 'a', 'd'} & :交集 #兩個集合中都有的元素‘C’,可以用函數intersection表示 >>> a = set('abc') >>> b = set('cde') >>> a {'b', 'c', 'a'} >>> b {'e', 'c', 'd'} >>> a & b {'c'} >>> a.intersection(b) {'c'} - :差補 #取差異, 可使用函數difference表示。 >>> a - b #b集合中沒有a集合當中的那些元素, {'b', 'a'} >>> b - a #a集合中沒有b集合當中的參數是那些 {'e', 'd'} >>> a.difference(b) {'b', 'a'} 集合內建方法: 添加成員: set.add() #當成一個整體進行添加 >>> a.add('new') >>> a {'b', 'new', 'c', 'a'} 批量添加成員: set.update() #拆分進行添加,添加多個可以使用s3的方式 >>> a.update('new') >>> a {'w', 'e', 'b', 'n', 'new', 'c', 'a'} >>> s3 = set(['hello', 'world']) >>> s3 {'hello', 'world'} 刪除成員: set.remove() #由於集合是無序的,無法取下標和key,只能指定刪除項 >>> a.remove('n') >>> a {'w', 'e', 'b', 'new', 'c', 'a'} 子集、超集: a集合中包含b集合的元素,所以a集合是b集合的超集,b集合是a集合的子集 被包含的是子集,包含別人的是超集 >>> a = set('abcde') >> b = set('bcd') >>> a {'e', 'b', 'c', 'a', 'd'} >>> b {'b', 'c', 'd'} X.issuperset(XX) #判斷a集合是否爲b集合的超集 >>> a.issuperset(b) True >>> b.issubset(a) #判斷b集合是否爲a集合的子集 True 集合本身是自己的超集和子集
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章