前言
為什麼需要字典:
Python中存儲一組相關的數據,例如:存儲一個人的資料,資料中有name、age、birthday等…。如果這些資訊都存儲在列表或元組中:比如[ ‘name’, ‘age’, ‘birthday’ ],想獲取name,需先知道其在列表中的索引值,那麼使用起來就不是很方便。比較方便的操作為:直接透過 name 這個關鍵字就可以取得值,那麼就可以利用字典的方式實現這樣的需求。
大綱
- 字典基礎
- 常用操作
一.字典基礎
1. 創建字典:
字典內儲存元素的方式是以「鍵(Key) – 值(Value)」對來保存,共有以下兩種方式:
- 方式一:利用大括號 { } 來創建字典
https://gist.github.com/Celia-code/502294bacce03ee5a18fa22574b0ad18
- 方式二:利用dict函數
https://gist.github.com/Celia-code/227798aac0b446ef6c4477eb04d34c6e
如下:

字典中的Key可以是任意的不可變類型,例如:浮點數、整數、字符串或者元組。
其中,每一個Key都有自己相對應的Value,例如:name(Key)對應到Amy(Value)。
用日常所見的方式來比喻:Key和Value的關係就好比鑰匙與門鎖,每一把鑰匙都有自己相對應的門鎖。
2.獲取Key對應的Value(值):
取得字典元素值的方法是以Key作為索引取得Value
https://gist.github.com/Celia-code/097dcc8e415d7a0180c41cdc83f60f9d
※注意:
由於字典是使用Key做為索引來取值,因此Key必須是唯一,而Value 則可以重複。
https://gist.github.com/Celia-code/272c97547cd794d58804ecff4a4faf94
上面範例可以看出:name這個Key重複了,而後面的鍵會覆蓋前面的,因此打印出Ben。
另外,若輸入不存在的Key,代碼會報錯(如下圖):
https://gist.github.com/Celia-code/4d7d8b912adb90cfd9442e51c06b8f78

二.常用操作
1. 新增:設定新的鍵與值
https://gist.github.com/Celia-code/f2336d74854a516a8b01f23a6a88ef36
2. 刪除:
- 刪除特定元素
https://gist.github.com/Celia-code/afb04757be5f800fb508eb3446131e70
- 刪除所有元素:
https://gist.github.com/Celia-code/75e3f14a04ec4d6e81c0629f6a8393bc
- 刪除字典:
https://gist.github.com/Celia-code/44f55c02b51fd7a5b63175ece3d82738
此時print會出現問題:

使用del方法會將字典整個刪除,等於前面定義的age字典已不存在。若要打印,程序將會顯示age這個字典沒有被定義而報錯。
3. 修改:直接對Key定義新的值
https://gist.github.com/Celia-code/3fdbd88682334672414533d9279170cd
4. for循環取值:
- 使用keys方法,將所有的鍵返回
https://gist.github.com/Celia-code/438555291dd697f9074092e75c8f81f1
- 使用values方法,將所有的值返回
https://gist.github.com/Celia-code/76c84d597ef1c4499e90787d58997003
- 使用items方法,將所有的鍵和值返回
https://gist.github.com/Celia-code/457afd57daf7312c0dbba75fbbab70dd







