#範例4-7:集合(set):以{..}儲存的變數 #(1).建立方法:兩種方法 #方法一:a = {1,2,3,4} #方法二:b = set((1,2,'a','b')) a = {1,2,3,4} print('(1)',a) b = set((1,2,'a','b')) print(b) c = set('today') print(c) #(2).空集合 #☎注意:空集合必須用a=set() #不可以用a={} #例如: a=set() #(3).新增一筆資料:a.add(元素) a = set((1,2,'a','b')) a.add('tom') print('(3)',a) #(4).刪除一筆資料:a.remove(元素) a = set((1,2,'a','b')) a.remove('b') print('(4)',a) #(5).把串列元素排序sorted(a),反向排reversed(a) #☎注意:都無效:sorted(a),reversed(a) a={'tom','mike','peter','yellow'} print('(5).原始值=',a) #b = {i for i in reversed(a)} #print('反向=',b) c = {i for i in sorted(a)} print('排序=',c) d = {i for i in reversed(sorted(a))} print('反向排序=',d) #(6).集合的運算:交集(&),聯集(|),差集(-),互斥(^) a = set('tiger') b = set('bear') print('(6)',a|b) #聯集(|) print(a&b) #交集(&) print(a-b) #差集(-):元素存在a,但是不存在b print(a^b) #互斥(^):元素存在a但是不存在b,或元素存在b但是不存在a print(a) #(7).二維集合 #A.錯誤的二維集合寫法 #stu = {{'tom',190},{'mike',170},{'jane',200},{'peter',185}} #B.二維集合寫法 stu = {('tom',190),('mike',170),('jane',200),('peter',185)} #或是 stu = [('tom',190),('mike',170),('jane',200),('peter',185)] #C.如何把二維串列,轉換成二維集合 #方法 #(i).先把內部的串列list用map()轉成tuple #(ii).然後用set()再轉換成集合 #(ii).外面用list()轉換 #範例: t=[[1, 7], [3, 7], [1, 7], [5, 8], [3, 7]] t = list(set(map(tuple,t))) print('(7)',t) #結果:[(3, 7), (5, 8), (1, 7)] #集合set裡面重複的,會自動刪除 #>>> t=[[1, 7], [3, 7], [1, 7], [5, 8], [3, 7]] #>>> t = list(set(map(tuple,t))) #>>> t #[(3, 7), (5, 8), (1, 7)]