前言

為什麼需要字典:

Python中存儲一組相關的數據,例如:存儲一個人的資料,資料中有nameagebirthday等…。如果這些資訊都存儲在列表或元組中:比如[ ‘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

 

celia

celia

人生苦短,我用Python !

Leave a Reply