iT邦幫忙

0

Python 字典教學:什麼是字典?怎麼用?有什麼好處?

  • 分享至 

  • xImage
  •  

一、什麼是字典?

字典(dictionary)是 Python 中非常實用的資料結構,用來儲存一組"鍵(key)與值(value)"的配對。
與列表(list)不同,字典不是按照順序儲存資料,而是透過自訂的 key 來對應 value。

🔧 語法格式:

my_dict = {
    "name": "喵喵",
    "age": 25,
    "country": "Taiwan"
}

用 大括號 {} 包起來,每組 "鍵: 值" 用冒號 : 連接,各對之間用逗號 , 分隔

字典沒有索引(index),只能用 key 存取資料

二、什麼時候該用字典?它好用嗎?

字典最適合用在:

你要根據名稱、編號或標籤來快速存取資料,或是不知道會有哪些項目,但想即時建立紀錄或統計、

想用清楚的 key 名字代表意義(不像 list 只能用數字index)。

實際用途像是:

  • 存放表單資料(例如:使用者資訊)

  • JSON 結構的 API 回傳

  • 統計次數(像詞頻、練習次數)

  • 組合設定檔、遊戲角色屬性

三、字典的基本操作與範例

  1. 建立一個基本的字典
student = {
    "name": "小明",
    "age": 18,
    "score": 92
}
  1. 建立一個空字典

student = {}

  1. 字典可以是多層的(巢狀)
student = {
    "name": "小明",
    "age": 18,
    "score": 92,
    "contact": {
        "email": "xiaoming@example.com",
        "phone": "0912-345-678"
    }
}
  1. 使用 key 查找值

print(student["name"])  # 小明

key 不可重複(重複的話會被後面的覆蓋),例如


sample = {"a": 1, "a": 2}  # 'a' 的值會是 2

如上,雖然 "a" 出現了兩次,但只會保留最後一次的設定。

而 value 可以重複(值可以一樣)

如果 key 不存在,會報錯:KeyError

多層查找



print(student["contact"]["email"])  # xiaoming@example.com

5.取得所有的 key 或 value

#取全部keys
keys=student.keys()
print(keys) #會是 dict_values型態,不能直接取值
keys=list(keys) #轉成list型別後可以取值

#取全部values
values=student.values()
print(values) #會是 dict_values型態,不能直接取值
values=list(values) #轉成list型別後可以取值

#取全部 key 與 value 對
items=student.items() #會是 dict_values型態,不能直接取值
items=list(items) #轉成list型別後可以取值,print出來是
                  #[('name','小明'),('age', 18),...]這樣的tuple對型式

四、 新增、刪除、修改

# 新增
student["gender"] = "male"

# 修改
student["score"] = 95

# 刪除
del student["age"] #del 的方式
student.pop("gender") #pop 的方式
student.popitem()  #popitem 的方式用來刪除最後一個

#清光所有item
student.clear()  #如果student print出來會是 {}

五、 現實應用範例

  • 📄 JSON 結構(API 回傳):
api_response = {
    "status": "success",
    "data": {
        "id": 123,
        "name": "Ning"
    }
}
  • 🎮 遊戲角色設定:
character = {
    "name": "勇者",
    "hp": 100,
    "inventory": ["劍", "盾", "藥水"]
}

📊 計數器(詞頻或次數統計):

sentence = "I love Python because Python is great"
word_count = {}

for word in sentence.split():
    word_count[word] = word_count.get(word, 0) + 1

或是

names = ["小明", "小美", "小明", "阿康", "小明"]
name_count = {}

for name in names:
    name_count[name] = name_count.get(name, 0) + 1

print(name_count)  # {'小明': 3, '小美': 1, '阿康': 1}

print(word_count)

使用 dict.get(key, default) 可以避免 key 不存在時出錯,並直接設定初始值為 0。

六、 小題目:試試你學會了嗎?

題目:請統計下面清單中每個人的出現次數。(答案參考在最下面)



names = ["小明", "小美", "小明", "阿康", "小明", "阿康"]

請使用字典建立一個 name_count,記錄每個人出現了幾次。

(提示:用 for 迴圈 + dict.get)

這就是 Python 字典的基本用法與實際應用!熟悉這個資料結構,會讓你在處理資料、寫腳本、設計功能時更有效率。如果你想延伸學習 defaultdict 或如何搭配函式、列表一起使用,也可以繼續深入探索喔!

小題目的答案參考

name_count = {}

for name in names:
    name_count[name] = name_count.get(name, 0) + 1

print(name_count)
# 輸出結果:{'小明': 3, '小美': 1, '阿康': 2}

感謝看到這裡~


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言