不可不知的字典操作  -  
商務資料儲存與創建(附Python程式碼)

本篇文章我們將介紹資料查找及儲存的超方便工具:字典 (Dict)。

字典的強大在於其新增及更改資料的便利性,且字典內的資料只有鍵與值的對應關係,元素之間沒有順序關係,是特別被設計成可以儲存大量資料且易於查找的資料結構,類似的資料結構被廣泛的應用在現今的網頁架構。

圖1. 如何建立字典
 

一、建立字典

在 Python 的字典中,每一個元素都以「鍵(Key)」和「值(Value)」組成,並以「:」區隔兩者,形成key: value的結構。元素之間以逗號區隔,最外圍以大括號「{}」圍住形成字典。建立好字典之後,就可以直接使用鍵(Key)去索引或查找值(Value),如程式碼 1 所示。

程式碼 1:

alphabet = {"a":"apple","b":"ball","c":"cat","d":"dog","e":"elephant"}# "a"為key,對照到的value是"apple"
print(alphabet["a"])

產出:

apple

我們也可以使用內建函數 dict() 來建立字典,如程式碼 2 所示,兩者會有一樣的效果。

程式碼 2:

alphabet = dict(a="apple",b="ball",c="cat",d="dog",e="elephant")print(alphabet["a"])

產出:

apple

特別要注意的是,字典裡元素的「值 (Value)」可以是任何的資料類型,例如:字串、整數、陣列,甚至也是字典。但「鍵 (Key)」必須是唯一的,且不可隨意變動,類型可以是整數、字串等,不可為陣列或字典。

二、新增或更新資料

在 Python 裡,要更新字典的資料內容非常簡單,同樣使用先前索引值 (Value) 的方法,若是輸入的鍵 (Key) 不存在,則電腦會自動新增元素;若是輸入的鍵 (Key) 存在,則電腦會自動更新其對應的值 (Value),如程式碼 3 所示 (字典內容承接程式碼 2)。

程式碼 3:

alphabet["f"] = "frog" # 新增新元素alphabet["a"] = "ant" # 更新元素print(alphabet["a"])print(alphabet)

產出:

ant{'a': 'ant', 'b': 'ball', 'c': 'cat', 'd': 'dog', 'e': 'elephant', 'f': 'frog'}

如果想要一次更新很多筆資料,可以使用字典內建的 update 方法,在字典的變數名稱後方加上 .update() 就可以了!如程式碼 4 所示 (字典內容承接程式碼 3)。

程式碼 4:

new_dict = {"e":"egg","g":"good","h":"hello"}alphabet.update(new_dict) # 更新的資料需為字典型態print(alphabet)

產出:

{'a': 'ant', 'b': 'ball', 'c': 'cat', 'd': 'dog', 
'e': 'egg', 'f': 'frog', 'g': 'good', 'h': 'hello'}

我們可以看到元素 e 被更新了,並加入了新元素 g 和 h。

三、刪除資料

那如果不小心新增了不需要的資料而想要刪除呢?我們可以使用 del 敘述,直接刪掉對應的記憶內容,如程式碼 5 所示(字典內容承接程式碼 4)。

程式碼 5:

del alphabet["a"] # 刪除資料print(alphabet)

產出:

{'b': 'ball', 'c': 'cat', 'd': 'dog', 'e': 'egg', 'f': 'frog', 'g': 'good', 'h': 'hello'}

 

四、其他應用

以下列舉了 Python 裡常用的字典內建方法:

1. 字典的大小(元素個數):len(字典變數名稱)。

2. 字典內所有鍵 (Key):字典變數名稱 .keys()。

3. 字典內所有值 (Value):字典變數名稱 .values()。

4. 字典所有元素:字典變數名稱 .items()

程式範例如程式碼 6 所示 (字典內容承接程式碼 5)。

程式碼 6:

print(len(alphabet))print(alphabet.keys())print(alphabet.values())print(alphabet.items())

產出:

7dict_keys(['b', 'c', 'd', 'e', 'f', 'g', 'h'])dict_values(['ball', 'cat', 'dog', 'egg', 'frog', 'good', 'hello'])dict_items([('b', 'ball'), ('c', 'cat'), ('d', 'dog'), ('e', 'egg'), ('f', 'frog'), ('g', 'good'), ('h', 'hello')])

以上就是本文對字典的介紹,希望大家對字典的架構有一定的了解了,而實際上還有許多字典的應用及內建方法等待各位探索,大家可以多多嘗試!

如果你喜歡我的文章,請給我一點掌聲~~

程式碼:字典操作 — 商務資料儲存與創建

作者:戴若竹 (臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)

更多商普好文推薦

問對問題的重要性

問對問題的重要性 企業經常是為了解決消費者的問題而存在,無法替消費者解決問題的企業,是否具有「存在價值」就頗值得討論。不過,有些企業之所以無

閱讀更多 »
回到頂端