#範例4-6:字典(dict):類似傳統的結構struct物件,類別物件 #(1).建立方法: a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} print('(1)',a['tom']) print(a['mike']) #(2).取出字典dict的某個元素,若不存在,用get()顯示錯誤訊息: a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} print('(2)',a.get('jane')) print(a.get('jane','找不到這個人')) #(3).新增/修改字典dict的一個元素:a['鍵'] = '值' a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} a['jane'] = '珍妮' print('(3)',a) a['peter'] = '彼得' print(a) print(a.get('jane','找不到這個人')) #(4).刪除字典dict的一個元素:del a['鍵'] a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} del a['tom'] print('(4)',a) #(5).刪除字典dict的所有元素:a.clear() a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} a.clear() print('(5)',a) #(6).把串列轉換成字典dict格式:a.clear() a = [['tom','湯姆'],['mike','麥克'],['peter','彼德']] b = dict(a) print('(6)',b) a = (['tom','湯姆'],['mike','麥克'],['peter','彼德']) b = dict(a) print(b) #(7).合併兩個字典dict格式:a.update(b) a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} b = {'marry':'瑪麗','brown':'布朗'} a.update(b) print('(7)',a) #(8).拷貝複製字典dict,有兩種方法:copy,= #A.特色:dict_2=dict_1,這兩個字典指向同一個記憶體物件,若修改其中一個元素,另外一個也會跟著修改 #B.特色:dict_2=dict_1.copy() #這兩個字典是不同的記憶體物件,若修改其中一個元素,另外一個不會受到影響 a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} b = a.copy() b['tom'] = '唐木' print('(8)',a) print(b) ################# d = a d['mike'] = '脈課' print(a) print(d) #(9).讀取字典dict的鍵,值:for 鍵,值 in 字典 a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} #(A).讀取字典的所有值 for value in a.values(): print('(9)',value) #(B).讀取字典的所有鍵 for key in a.keys(): print(key) #(C).讀取字典的所有鍵+值 for key,value in a.items(): print(key,',',value) #(10).把字典元素排序sorted(a),反向排reversed(a) a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} print('(10)','原始值=',a) b = {k:v for k,v in sorted(a.items())} print('排序=',b) #(11).如何使用enumerate列舉方法來顯示字典dict #方法:for i, (k, v) in enumerate(mydict.items()) #☎注意:enumerate(mydict.items())裡面的字典,必須要寫items(),不可以只有寫dict #範例: a = {'tom':'湯姆','mike':'麥克','peter':'彼德'} #顯示第一維tuple元素 print('(11)',[x+'的姓名為'+y for i,(x,y) in enumerate(a.items())])