資料結構(III)—dictionary

新年快樂!! 轉眼間,我們已來到2019!

今年,再讓我們一起努力吧! 🙂

今天要跟大家分享的主題是dictionary,有別於去年我們談到的list與tuple,dictionary不只是把資料放在裡面,而是放在dictionary中的資料都會有個索引值(我們稱他為key)。簡單來說,我們可以想像把好多把鑰匙(key)放在一個大袋子(dictionary)裡面,而每把鑰匙都可以找到所對應的資料(values),而這整個結構就像一本字典一樣,讓我們可以很方便地藉由鑰匙直接找到相對應的資料,所以我們稱之為字典(dictionary)。

(一) 建立dictionary

我們可以用大括號(“{ }”) 來建立字典,而字典裡分兩個部分,前面的部分為key,後面的部分為value,舉例如下:

在本例中,我們可以看到,會員名字(Jack, Lillian及Tina)為字典中的keys,而會員編號(201,205,210)則為相對應的values)
再type中我們也可以看到,這樣的資料結構就是所謂的dictionary,簡稱為dict.

(二)利用key值找相對應的資料

在字典中,我們可以直接輸入key的名稱,找出相對應的資料。然而,值得注意的是,因為dictionary中的索引值就是key,所以我們不能夠像list一樣用位置叫出相對應的值。簡單來說,在list裡面的索引值就是位置,而在dictionary裡面的索引值為我們取名的key。

(三)一個鑰匙裡面是可以放很多資料的

每個key裡面都可以放很多的資料,而且型態不拘。

舉例來說,現在我們的members裡面還是用成員名字當key,在values的部分,我們建立了list,除了會員編號外,我們還加入了性別資料。如下圖所示。

在這邊我們可以看到,我們可以藉由雙層的呼叫方法,第一層為key,第二層為位置,呼叫出該成員的性別。

(四)修改list裡面的內容

跟list一樣,我們可以直接用指定的方式,賦予資料新的值。抑或是直接修改key裡面所存放的內容。

然而,值得注意的是,如果我們key裡面給定的值是放在tuple裡面,則無法修改tuple裡面的內容,但還是可以修改key裡面的內容。舉例如下:

(五)增加dictionary裡面的資料

學會修改字典裡面現有的資料後,該如何增加dictionary裡面的資料呢?很簡單,給定一個新的key名稱,並指定其相對應的資料值,就完成囉!

(六)移除dictionary裡面的資料

學會新增及修改資料,當然,我們也要學會怎麼移除資料!很簡單,用pop(‘key’)就可以了!

(七) 確認資料是否存在於dictionary中

接續上個案例,我們該如何確認某個名字是否在成員名單中呢?在python中,這些語法都相當直觀,就像您在跟真人講話一樣,且看下面例子。

到這邊,相信大家對於dictionary有了更多的認識。

學程式,最重要的就是要多多練習唷!歡迎大家跟著我們的範例,花一點點時間,自己試試看唷!

Share

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *