Python 串列與字典(Python List & Dictionary)是什麼?

Python 串列(List)是一種有序、可變的資料結構,用於儲存一系列元素;字典(Dictionary)則是一種鍵值對(Key-Value)的資料結構,用於快速查找和存取資料。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

Python 串列與字典(Python List & Dictionary)是什麼? iPAS 高頻 L22/L23-prog中級

你要記購物清單和聯絡人時,會不會發現一種要照順序看,一種要直接找名字?

你可以把串列想成排好順序的清單,把字典想成用鍵值快速找資料的櫃子。 它們是 Python 最常用的兩種資料結構,幾乎所有小工具、資料處理和前處理都會碰到。

你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。

容易混淆

串列 vs 字典 串列重點是順序和索引。 字典重點是鍵值對和快速查找。 最關鍵的區別:一個按位置取,一個按名字取。

串列 vs 陣列 串列更彈性,能放不同型別。 陣列通常更偏向連續、同型別的數值。 最關鍵的區別:一個好用,一個偏數值運算。

字典 vs 集合 字典存鍵值對。 集合只在乎元素有沒有出現過,不在乎對應值。 最關鍵的區別:一個查對應,一個查存在。

記住這句就好

串列看順序,字典看名字。

實際案例

待辦清單 待辦事項需要照順序處理,最適合用串列。 你可以直接看第幾項,也可以逐項巡覽。

客戶資料 客戶姓名、電話、地址這種「一個鍵對一個值」的資料,很適合用字典。 查詢某個欄位時,字典比一條條掃描快很多。

算法與應用

串列常搭配索引、切片、append、pop 來操作順序資料。 字典常搭配 key 查找、更新和迭代,適合做設定表、查詢表和特徵映射。 很多資料前處理,就是先把原始資料整理成串列或字典,再交給模型。

情境判斷

Q1(直覺題): 你要存一份「姓名對電話」的名單,較適合用什麼?

→ 用字典,因為你要的是用姓名快速找到對應電話。

Q2(判斷題): 如果你只想保留購物順序,還要能看到第 3 個、第 4 個項目,該用什麼?

→ 用串列,因為它保留順序,也支援索引。

iPAS 考題

Q1: 字典的 key 可以重複嗎? → 不可以,key 必須唯一,不然前面的值會被後面的覆蓋。

Q2: 新手最常錯在哪? → 常把要照順序存的資料誤放進字典,或把應該快速查找的資料硬塞成串列。

常見問題

串列和字典哪個比較常用?

兩個都很常用,只是串列偏順序處理,字典偏快速查找。

什麼時候該用字典?

當你需要用一個名字快速找到對應資料時,字典通常比串列更合適。

串列和字典差在哪裡?

串列是有順序的元素集合,字典是鍵值對資料,前者看位置,後者看鍵。

立即測驗

想測試你對 Python 串列與字典 的掌握程度? 開始模擬考