標題用一個老梗開場,但是在Python中,是真的存在『字典』這個功能。

說到『字典』我們會想到甚麼?

利用一個唯一的關鍵字(key)去找尋對應的解釋、內容或是一個值(Value)等

這樣的概念就是『字典』(dictionary)

目錄

1. 字典(dictionary)的宣告

2. 字典常用的方法


1. 字典(dictionary)的宣告

前言我們提到字典就是一個唯一的關鍵字(key)去找尋對應一個值(Value),宣告的方法也是這樣的概念。

宣告方法有兩種,一種是將一變數宣告成ditc()方法,如下圖第一行。

另一種則是直接利用大括號 { } 來做宣告,例如下圖第三行。

每一組關鍵字(key)對應一個值(Value)用冒號 : 來表示,也就是 key:value

每一組key:value之間如同串列、元組,利用逗號  ,區隔。

整個宣告方法也就是 {key:value,key:value, ...},可參考下圖第一、三行。

*這裡要注意的是key,key必須要唯一且符合hashable,hashable可先理解成不可隨意更動的值!

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

2. 字典常用的方法

。利用key取得值

這是一個很常使用的方法,只要在字典的變數後利用中括號[ ]內帶入key值,即可找出對應的值(value),如同下圖中的第五、七行。

第五行找到dict_A中的關,表示0的值。

第七行找到dict_B中的blacktea,表示紅茶的值。

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

 

。新增一組key:value

建立好的字典如果要新增一組key:value利用中括號[ ] 中間帶key值,並且後面賦予一個value值,這樣就新增一組key:value。

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

上面新增一組key:value,其中key值為字元c,在字典dict_A裡並未出現相同的key值,因此會新增一組key:value

如果宣告的key值已存在於字典dict_A中,並不會再新增一組key:value,因為key必須唯一,此時會修改原始在dict_A中該key對應的value值

如下圖第三行,這裡我們宣告字典裡key值為字元b的值應該為3,印出來的結果可以發現,dict_A並未新增一筆,而是修改了字典裡key值為字元b的值

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

 

。刪除一組key:value

del dict變數[key]這個指令可以刪除在字典『dict變數』中的key:value

如下,原本字典裡有三組key:value,第五行中刪除其中一組後,就剩下兩組key:value

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

 

。印出所有key:value

當字典在大量的程式碼中不斷的異動後,想取得所有的key:value,就可以利用item()的方法,型態為上一話提到的tuple

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

如果只要取得所有的key,就用keys()

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

那..那...我只想取得所有的值value呢???

就用vlaues()

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

 

。清空字典

字典的key:value如果都要清空,不需要一筆一筆刪除,可以直接用clear()清空,如第五行!

或是用第六行那樣也可以達到清空字典的效果哦!

Python Eclipse 初學 入門 教學 字典 宣告 新增 插入 刪除 清空 基本方法

 


想利用Eclipse撰寫Python程式嗎?

【Python-入門教學 第一話 : 如何安裝Python?

【Python-入門教學】 第二話 : 用Python向世界問好! 你的第一支程式碼

【Python-入門教學】 第三話 : 這是數字...? 還是..文字?? 辨別資料的型態(型別)

【Python-入門教學】 第四話 : 變數是...會改變的數字? 變數的介紹

【Python-入門教學】 第五話 : 運算子?邊緣子?傻傻分不清楚。數學的基礎,四則運算加減乘除 - 運算子

【Python-入門教學】 第六話 : 字串就像烤串一樣,可拆可串還可算! - 字串的處理

【Python-入門教學】 第七話 : 資料一串接一串,就用串列來處理 - 串列(List)

【Python-入門教學】 第八話 : 不想讓串列元素隨意更動? 改用元組吧! -元組(tuple)

創作者介紹
創作者 TechShare 的頭像
iLoveTech

TechShare

iLoveTech 發表在 痞客邦 留言(0) 人氣( 5 )