Python 入門教學 - 三分鐘搞懂 List、Tuple、Dictionary 是什麼?

JayLinXR-avatar-img
發佈於Coding = Dynamic 個房間
更新於 發佈於 閱讀時間約 7 分鐘

在 Python 中,列表(list)元組(tuple)字典(dictionary) 是三種不同的資料結構,各自有其特性與使用情境:


🔸 列表(List)

  • 可變動(Mutable):列表是可變的,表示建立後可以更改其內容。你可以自由新增、刪除或修改其中的元素。
  • 有順序(Ordered):列表中的元素是有順序的,可透過索引來存取。索引從 0 開始。
  • 語法:使用中括號 [] 建立,例如:
    my_list = [1, 2, 3, 'hello']

🔸 元組(Tuple)

  • 不可變動(Immutable):元組是不可變的,建立後其中的內容無法更動。無法新增、刪除或修改元素。
  • 有順序(Ordered):與列表類似,元組中的元素有順序,也可透過索引存取。
  • 語法:使用小括號 () 建立,例如:
    my_tuple = (1, 2, 3, 'hello')

🔸 字典(Dictionary)

  • 可變動(Mutable):字典是可變的,它是一種鍵值對(key-value)的集合。
  • 無順序(Unordered):字典中的元素沒有固定順序,無法使用索引取值,而是透過「鍵」來取得對應的「值」。
  • 語法:使用大括號 {} 建立,鍵與值用冒號 : 分隔,例如:
    my_dict = {'name': 'Alice', 'age': 30}

🔹 使用差異(Differences)

  • 當你需要一組可以修改、排序,並透過索引存取的資料時,使用 List
  • 當你需要一組不應該改變的固定資料時,使用 Tuple
  • 當你需要以鍵值對方式儲存資料,並快速透過鍵查詢值時,使用 Dictionary


程式碼範例

  1. 列表(List
todos = ['寫作業', '閱讀文件', '運動']
todos.insert(1, '買菜') # 在索引 1 處插入新項目
todos.remove('閱讀文件') # 刪除指定項目
print(len(todos)) # 印出目前清單長度 => 3
print(todos) # 印出 ['寫作業', '買菜', '運動']
  1. 元組(Tuple)
workdays = ('Mon', 'Tue', 'Wed', 'Thu', 'Fri')
print(workdays[4])# 存取第五個元素 => 'Fri'

# 以下操作會出錯,因為元組不可變動:
workdays[2] = 'Sat'
=> TypeError: 'tuple' object does not support item assignment
  1. 字典(Dictionary)
grades = {'Tom': 85, 'Mary': 92, 'John': 78}
grades['John'] += 5 # 將 John 的分數加 5
grades['Lisa'] = 88 # 新增一位學生 Lisa
for name, score in grades.items():
print(f"{name} 的分數是 {score}")


# 以下是每一個人的分數
# Tom 的分數是 85
# Mary 的分數是 92
# John 的分數是 83
# Lisa 的分數是 88



小測驗(選擇題 + 解答)

Q1. 下列哪個 List 操作是「合法」的?

A. my_list = [1,2,3]; my_list[3] = 4
B. my_list = [1,2,3]; my_list.append(4)
C. my_list = [1,2,3]; my_list.remove(4)
D. my_list = [1,2,3]; del my_list

答案: B. 使用 append 新增元素是合法的(A 會超出索引;C 會因元素不存在拋錯;D 會刪除整個變數)


Q2. 下面程式執行結果為何?

t = (10, 20, 30)
print(t.count(20))

A. 0
B. 1
C. 2
D. 錯誤

答案: B. 元組的 count 方法會回傳指定值出現的次數,此處是 1。


Q3. 下列哪一種情況最適合用字典(Dictionary)?

A. 需儲存學生名單並依序處理。 B. 需儲存設定選項,每個選項有名稱與對應值。 C. 需儲存固定不變的座標點集合。 D. 需保持一連串可重複的數值序列。

答案: B. 設定選項適合用鍵值對表示,用字典最有效率。


Q4. 下列哪些型別「不能」當作字典的鍵?(可複選)

A. 123(整數)

B. "hello"(字串)

C. [1, 2, 3](列表)

D. (1, 2, 3)(元組)

答案: C. 列表是可變的,不能當鍵;其餘皆為不可變,可作鍵。


任務挑戰: 建立字典管理聯絡人

  1. 建立一個字典,鍵為聯絡人姓名,值為電話號碼。
  2. 更新其中一位聯絡人的號碼。
  3. 刪除某個聯絡人。
  4. 列印所有聯絡人及對應電話。


答案以下

contacts = {'Alice': '0912345678', 'Bob': '0987654321', 'Jay':'091234567'}
contacts['Alice'] = '0999888777'
del contacts['Bob']
for name, phone in contacts.items():
print(name, phone)

# 輸出
#Alice 0999888777
#Jay 091234567


額外問題

.items()是什麼?用來取得字典中的 所有鍵值對(Key-Value)

Alice 0912345678
Jay 091234567

#對應​ name, phone 來自dictionary







額外資源教學

Figma UX/UI手機App設計教學:點子成行到製作出一個App 系列教學 -https://vocus.cc/article/663ddefafd89780001db6e7c

如何用FIgma製作個人作品集教學

https://vocus.cc/article/645c733dfd89780001ffe890

影片教學

JayLinXR YT: https://www.youtube.com/@jaylinxr








留言
avatar-img
留言分享你的想法!
avatar-img
JayLinXR
13會員
37內容數
設計 + 程式,是一個出版對設計和程式的學習影片和教學文章,目的是為了讓大家能加快學習最新技術以及設計相關題目去思考如何改變產品的設計體驗。 請追蹤JayLinXR獲得最新消息: https://www.youtube.com/@jaylinxr
JayLinXR的其他內容
2025/07/02
這篇文章探討 Python 索引存取和切片的使用,特別是 `seq[start:stop:step]` 切片語法在程式碼中的應用,並指出程式碼中可能存在的錯誤及更正方法。
Thumbnail
2025/07/02
這篇文章探討 Python 索引存取和切片的使用,特別是 `seq[start:stop:step]` 切片語法在程式碼中的應用,並指出程式碼中可能存在的錯誤及更正方法。
Thumbnail
2024/05/22
React Marquee是一個輕量級的React library,可以在網頁上創建流暢的跑馬燈效果。本文提供快速教學和講解,教大家如何安裝、使用React跑馬燈library官方網站。另外,也分享了額外的資源和相關教學文章。希望透過以上講解和影片教學,能幫助大家瞭解這個library。
Thumbnail
2024/05/22
React Marquee是一個輕量級的React library,可以在網頁上創建流暢的跑馬燈效果。本文提供快速教學和講解,教大家如何安裝、使用React跑馬燈library官方網站。另外,也分享了額外的資源和相關教學文章。希望透過以上講解和影片教學,能幫助大家瞭解這個library。
Thumbnail
2024/05/03
本文介紹如何使用Vite建立前端開發初始檔案,並加入Tailwindcss的教學。透過指令和配置檔,讓你能快速建立個人專案的開發環境,並學習如何加入全域的Tailwindcss樣式。還有影片教學、資源連結和更多相關教學文章等,幫助你進一步學習。
Thumbnail
2024/05/03
本文介紹如何使用Vite建立前端開發初始檔案,並加入Tailwindcss的教學。透過指令和配置檔,讓你能快速建立個人專案的開發環境,並學習如何加入全域的Tailwindcss樣式。還有影片教學、資源連結和更多相關教學文章等,幫助你進一步學習。
Thumbnail
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
在 Python 中,dir() 函式用於列舉對象的所有屬性和方法。這包括對象的內建屬性、方法以及自定義的屬性和方法。以下是一個簡單的示例: 列舉所有屬性與方法 class MyClass: def __init__(self): self.attribute1 = 42
Thumbnail
在 Python 中,dir() 函式用於列舉對象的所有屬性和方法。這包括對象的內建屬性、方法以及自定義的屬性和方法。以下是一個簡單的示例: 列舉所有屬性與方法 class MyClass: def __init__(self): self.attribute1 = 42
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News