iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
1

學習目標

• 何謂「字典」?為何需要「字典」?

• 「字典」相關的專有名詞介紹 & 應用

• 如何建造一個「字典」?

• 讀取 & 修改字典內的元素

• 字典的四大特性


何謂「字典」(Dict)

• 以 { } 括住、儲存「對照表」類型資料的結構

https://ithelp.ithome.com.tw/upload/images/20191011/20120926ERlbQLSAUq.png

為何要叫「字典」(Dict)

•「字典」也是一種「對照表」

https://ithelp.ithome.com.tw/upload/images/20191011/20120926zmd1o5lJW1.png

「字典(Dict)」專有名詞介紹

•鍵(Keys)、值(Values)、鍵值對(Key-Value Pairs)

→ 事實上,底層是用 tuple(Key, Value) 這樣的機制儲存的

https://ithelp.ithome.com.tw/upload/images/20191011/20120926R0RzZ0ZKdf.png

「字典」常見的應用

•查閱(Lookup)

https://ithelp.ithome.com.tw/upload/images/20191011/201209260NfH8IeWjm.png

•轉換(Translate)

https://ithelp.ithome.com.tw/upload/images/20191011/20120926n4l0p0Jpvg.png

建造一個「字典」

• 空字典

• d = {}

• d = dict()

•一般字典

• 標準: d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}

• 元組: d = dict([(“USD”, 30.24), (“JPY”, 0.276), (“RMB”, 4.541)])

•等號: d = dict(USD=30.24, JPY=0.276, RMB=4.541)

•ZIP: d = dict(zip(("USD", "JPY", "RMB"), (30.24, 0.276, 4.541)))

字典元素的讀取與修改

•讀取

•d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}

•d[“USD”] → 30.24

•d[“EUR”] → 讀取不存在的 Key,傳回 KeyError

•修改

•d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}

•d[“USD”] = 31.02

→ d = {“USD”:31.02, “JPY”:0.276, “RMB”:4.541}

•d[“EUR”] = 35.636 → 寫入不存在的 Key,會新增一個元素

字典四大特性

(1) Key 必須是 Immutable

https://ithelp.ithome.com.tw/upload/images/20191011/20120926Z6CBMJf2Lu.png

(2) Key 不可重複,後者會蓋掉前者

https://ithelp.ithome.com.tw/upload/images/20191011/20120926M7SrzCgaKx.png

(3) 字典是「無序」的(Python 3.6 開始,盡量保持原始順序)

https://ithelp.ithome.com.tw/upload/images/20191011/20120926y5UF7X8F8d.png

(4) 字典本身是 Mutable 的

•可增減字典內的元素

•Python 提供一組增減字典元素的函數,供程式師使用


重點整理

  • 何謂「字典」

    • 以「大括號 { }」括住、每筆元素包含「鍵:值」對應關係的資料。

  • 「字典」的應用時機

    • 查閱(Lookup)& 轉換(Translate)

  • 建造一個字典

    • 空字典:d = { }; d = dict()

    • 一般字典

      • 標準: d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}

      • 元組: d = dict([(“USD”, 30.24), (“JPY”, 0.276), (“RMB”, 4.541)])

      • 等號: d = dict(USD=30.24, JPY=0.276, RMB=4.541)

      • ZIP: d = dict(zip(("USD", "JPY", "RMB"), (30.24, 0.276, 4.541)))

  • 讀寫字典內的元素

    • 讀取: d[“USD”]

    • 寫入: d[“USD”] = 31.02

  • 字典四大特性

    • Key 不可更改(Immutable)、Key 不可重複、鍵值對「無序」、鍵值對可更改(Mutable)


上一篇
Day24-函數
下一篇
DAY26-物件導向設計
系列文
從不懂,到玩上手的Python語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言