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) 的建築師。能自在在字典與列表之間切換的基礎方法,正是讓你的工具與更廣闊的世界(網路、其他程式語言、資料庫)溝通的第一道門檻。

基礎並非枯燥,而是支撐你創意的最堅固基石。


相關文章