技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
25
1
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
25
篇
Day25-複合資料結構:字典
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-11 22:05:46
1487 瀏覽
分享至
學習目標
• 何謂「字典」?為何需要「字典」?
• 「字典」相關的專有名詞介紹 & 應用
• 如何建造一個「字典」?
• 讀取 & 修改字典內的元素
• 字典的四大特性
何謂「字典」(Dict)
• 以 { } 括住、儲存「對照表」類型資料的結構
為何要叫「字典」(Dict)
•「字典」也是一種「對照表」
「字典(Dict)」專有名詞介紹
•鍵(Keys)、值(Values)、鍵值對(Key-Value Pairs)
→ 事實上,底層是用 tuple(Key, Value) 這樣的機制儲存的
「字典」常見的應用
•查閱(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”: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
(2) Key 不可重複,後者會蓋掉前者
(3) 字典是「無序」的(Python 3.6 開始,盡量保持原始順序)
(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
篇
目錄
RSS系列文
訂閱系列文
9
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
10435
篇
完賽人數
100
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
17th鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
Esxi 8.0版本上的虛擬機器, 安裝的作業系統是Windows Server 2025, 確定輸入的密碼是正確的, 無法登入(顯示密碼錯誤)
【求助】顯卡/主板 支援 PCIe4.0 為何 Host to Device (H2D) 只剩 Gen1 速度 (0.5 GB/s) ?
請問今天鐵人賽的發文系統是否故障?
Windows GPO Bitlocker
HP iLo Advanced trial license
在線求大神,千奧軟體主機怎麼安裝
Docker Compose 建立 GitLab 容器,執行器 Runner 運行流水線問題
windows server無法使用gpedit.msc
Java證照題目(main() method)
因為網路磁碟的關係造成系統自動重新開機
熱門回答
Esxi 8.0版本上的虛擬機器, 安裝的作業系統是Windows Server 2025, 確定輸入的密碼是正確的, 無法登入(顯示密碼錯誤)
因為網路磁碟的關係造成系統自動重新開機
Windows GPO Bitlocker
【求助】顯卡/主板 支援 PCIe4.0 為何 Host to Device (H2D) 只剩 Gen1 速度 (0.5 GB/s) ?
windows server無法使用gpedit.msc
熱門文章
第30天,完賽心得 / 葉家藥燉排骨 在地排隊美食(新北板橋)| 30天滷肉飯
[為你自己學 n8n] 第 3 天,打開控制台,認識你的自動化駕駛艙!
第4天,數位憑證的產生 / 中崙張記藥膳排骨 排骨讚(台北松山)| 30天滷肉飯
第4天,Cloudflare Public DNS 與 WARP / 滷小小 美味的滷味 | 30天板橋湳雅夜市
第3天, 公鑰與私鑰 / 一甲子餐飲 都是韓國人在吃(台北萬華)| 30天滷肉飯
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}