AI寫程式的時代,基礎更顯重要
如今 AI 能在瞬間產出程式碼。只要說「在 Python 中把字典的鍵取出來」,AI 便會在一秒內給出答案。但我們為何還需要親自學習這些簡單的方法呢?
這不僅僅是為了背「語法」而已。寫程式的本質是控制資料的流向與轉換。資料從 CPU 經過螢幕顯示,或經由網路 (HTTP) 傳輸到遠端時,都必須依需求不斷換「衣服」。
在 Python 中最強大的「衣服」就是 Dictionary(字典),而根據情境將它轉成 List(列表) 的技巧,並非單純的基礎,而是貫通資料之路的關鍵工具。掌握這條路徑,才能在 AI 產出的程式出錯時,說出「喔,這裡的資料型別搞錯了!」,從容修正。

1. 為何要把字典拆成列表?
字典是一個由 「鍵(Key):值(Value)」 組成的聰明容器。但有時候只需要「名牌(Key)」,有時候則需要把「內容(Value)」單獨取出並排序。
舉例來說,若想把網站上已登入使用者的 ID 只取出來,並依字母順序顯示,直接從整個字典搬運會很低效,直接抽出鍵製成列表才是最佳做法。
2. 實戰:字典拆解秀(核心方法)
🏷️ 只取名牌:keys()
從字典中僅提取「鍵」。這是最常用的轉換。
# 我電腦的零件庫存狀態
inventory = {'CPU': 5, 'GPU': 2, 'RAM': 10}
# 只取品項名稱做成列表以供報告
item_names = list(inventory.keys())
print(item_names) # 輸出: ['CPU', 'GPU', 'RAM']
📦 只取內容:values()
當只需要數值資料來計算總和或平均時,這個方法必不可少。
# 想把所有庫存數量加起來?
counts = list(inventory.values())
print(counts) # 輸出: [5, 2, 10]
print(sum(counts)) # 總庫存: 17
🤝 同時取得鍵和值:items()
在將資料傳遞給其他系統或徹底改變格式時使用。會回傳包含「鍵」與「值」的 tuple 列表。
# 把資料轉成 (品項, 數量) 形式的列表
pairs = list(inventory.items())
print(pairs) # 輸出: [('CPU', 5), ('GPU', 2), ('RAM', 10)]
3. 再更聰明一點:排序與應用
資料往往需要排序後才能更好地呈現給接收端。搭配 sorted(),資料轉換更上一層樓。
my_dict = {'b': 2, 'a': 1, 'c': 3}
# 依字母順序排列鍵並製成列表
sorted_keys = sorted(my_dict.keys())
print(sorted_keys) # 輸出: ['a', 'b', 'c']
# 依數值大小排序值並製成列表
sorted_values = sorted(my_dict.values())
print(sorted_values) # 輸出: [1, 2, 3]
4. 一目了然的轉換工具表
| 想要的結果 | 使用的方法 (Method) | 範例結果 |
|---|---|---|
| 只要鍵 列表 | list(dict.keys()) |
['name', 'age'] |
| 只要值 列表 | list(dict.values()) |
['Alice', 25] |
| 鍵值配對 列表 | list(dict.items()) |
[('name', 'Alice'), …] |
| 排序後的鍵 列表 | sorted(dict.keys()) |
依字母/數字順序 |
結語:比「怎麼做」更重要的是「為什麼」
單純背下 list(my_dict.keys()) 沒什麼意義。關鍵是要有 「現在手上的這塊資料,要以何種形狀雕刻,才能交給下一個步驟」 的感覺。
在 AI 為我們寫程式的時代,我們必須成為規劃整體 資料流 (Data Flow) 的建築師。能自在在字典與列表之間切換的基礎方法,正是讓你的工具與更廣闊的世界(網路、其他程式語言、資料庫)溝通的第一道門檻。
基礎並非枯燥,而是支撐你創意的最堅固基石。
相關文章
目前沒有評論。