WeHelp
學習各式各樣的內建函式、類別、物件、模組等等工具,完成各種 Python 基礎應用。
  1. 字串的操作
  2. 列表的操作
  3. 字典的操作
  4. 數學、統計模組
  5. 文字檔案讀取、寫入
  6. CSV 檔案讀取、寫入
  7. JSON 檔案讀取、寫入
  8. ZIP 壓縮檔案和解壓縮
  9. HTTP 網路連線請求
  10. 網頁爬蟲程式
  11. 日期與時間
  12. 正規表達式
字典的操作
## Python 字典是內建類別 在 Python 中,字典(`dict`)不是單純的資料格式,而是一個由 Python 內建的**類別(class)**。我們可以使用 `dict` 建立字典物件: ```python student = {"name": "小明", "age": 18} print(type(student)) # <class 'dict'> ``` 字典以「**鍵(key): 值(value)**」的形式儲存資料: ```python {"name": "小明", "age": 18} ``` - `name`、`age` 是鍵 - `"小明"`、`18` 是值 - 鍵必須是唯一且不可變的,例如字串、數字或元組 - 值可以是任何型別 - Python 3.7 之後,字典會保留元素加入的順序 也可以透過建構函式建立字典: ```python person = dict(name="小華", age=20) print(person) # {'name': '小華', 'age': 20} ``` ## 常見的字典方法 | 方法 | 說明 | 範例 | |---|---|---| | `get(key, default)` | 取得鍵的值,不存在時回傳預設值 | `d.get("name", "未知")` | | `keys()` | 取得所有鍵 | `d.keys()` | | `values()` | 取得所有值 | `d.values()` | | `items()` | 取得所有鍵值配對 | `d.items()` | | `update(other)` | 新增或更新多筆資料 | `d.update({"age": 20})` | | `pop(key)` | 移除指定鍵並回傳其值 | `d.pop("age")` | | `popitem()` | 移除並回傳最後加入的鍵值配對 | `d.popitem()` | | `setdefault(key, default)` | 鍵不存在時新增,並回傳值 | `d.setdefault("city", "台北")` | | `clear()` | 清空字典 | `d.clear()` | | `copy()` | 建立字典的淺層複本 | `new_d = d.copy()` | ### 基本操作範例 ```python user = { "name": "小美", "age": 25 } # 讀取資料 print(user["name"]) # 新增資料 user["city"] = "台中" # 修改資料 user["age"] = 26 # 使用 get,避免鍵不存在時發生 KeyError print(user.get("email", "尚未提供")) # 走訪字典 for key, value in user.items(): print(key, value) ``` ## 實務範例一:統計文字中的單字出現次數 字典很適合用來建立「資料 → 次數」的對應關係。 ```python text = "apple banana apple orange banana apple" word_count = {} for word in text.split(): word_count[word] = word_count.get(word, 0) + 1 print(word_count) # {'apple': 3, 'banana': 2, 'orange': 1} ``` 這裡: - 鍵是單字 - 值是該單字出現的次數 - `get(word, 0)` 可在單字尚未出現時,先取得 `0` 也可以使用 `collections.Counter`: ```python from collections import Counter word_count = Counter(text.split()) print(word_count) ``` ## 實務範例二:依商品編號查詢商品資訊 可以使用字典快速查詢商品資料。 ```python products = { "A001": {"name": "鍵盤", "price": 1200, "stock": 10}, "A002": {"name": "滑鼠", "price": 600, "stock": 25}, "A003": {"name": "螢幕", "price": 5000, "stock": 5} } product_id = "A002" product = products.get(product_id) if product is not None: print(f"商品名稱:{product['name']}") print(f"價格:{product['price']} 元") print(f"庫存:{product['stock']} 件") else: print("找不到此商品") ``` 輸出: ```text 商品名稱:滑鼠 價格:600 元 庫存:25 件 ``` 在這個例子中: - 外層字典以商品編號作為鍵 - 內層字典儲存商品名稱、價格與庫存 - 使用 `get()` 查詢時,即使商品編號不存在,也不會立即產生錯誤 字典的核心特色是透過鍵快速存取資料,因此常用於資料查詢、統計、設定檔、JSON 資料與快取等情境。
相關學習地圖、教學課程
Python 資料工程
從 0 開始,成為資料工程師的學習路徑。
Python 後端工程、資料庫
從 0 開始,成為後端工程師的學習路徑。