## 情境 在學會使用基本的變數和容器後,你已經能有效地管理一些簡單的資料。然而,當資料不僅多樣且數量龐大,例如描述整個班級的學生資料時,就需要使用陣列(列表)來有序地管理這些資訊。陣列(列表)提供了便捷的排序、添加和刪除等操作,適合管理大量資料。 ## 陣列 (Array) 陣列(或稱列表)是 Python 中一種有序的資料結構,適合儲存多筆資料,並提供許多靈活的操作方式,例如合併、排序、推導式等,方便管理大量的資料。 <kbd>![](https://i.imgur.com/qL5PJjk.png)</kbd> ### 如何宣告與存取 ```python list_student = ["小花", "小明", "小英"] print(list_student[0]) print(list_student[1]) print(list_student[2]) ``` <kbd>![image](https://hackmd.io/_uploads/SJYpbL0Zkl.png) </kbd> ### 合併與展開 可以使用 `+` 號合併列表,或使用 `*` 展開多個副本。 ```python a = [1, 2, 3] b = [4, 5] print(a + b) # 輸出:[1, 2, 3, 4, 5] print(a * 2) # 輸出:[1, 2, 3, 1, 2, 3] ``` <kbd>![image](https://hackmd.io/_uploads/rkcDGI0Zkx.png) </kbd> ### 解構賦值 (Unpacking) 可以將列表拆解為多個變數使用,適合從列表提取特定元素。 ```python numbers = [1, 2, 3] a, b, c = numbers print(a, b, c) # 輸出:1 2 3 ``` <kbd>![image](https://hackmd.io/_uploads/B1DqzIAWkx.png) </kbd> 下面給你一題**完全符合你課綱設定(不使用 loop)**、**結構完整**、可直接放進教材的版本。 --- ## 🧪 Workshop - 一維陣列 ### 🎯 情境 你正在開發一個簡單的成績小工具。系統會把三位同學的分數放在一個陣列中,例如: ```python scores = [85, 90, 78] ``` 老師希望快速知道: **前兩位同學的分數總和是多少?** 但目前你還沒有學過迴圈,所以只能用「指定索引」的方式完成。 --- ### 📘 題目 請建立一個大小為 3 的一維陣列(list),內容自行決定,例如: ```python scores = [10, 20, 30] ``` 接著請: 1. 取出第 0 個元素 2. 取出第 1 個元素 3. 將它們相加並印出結果 --- ### ✅ 預期輸出 如果你的陣列是: ```python scores = [10, 20, 30] ``` 那印出的結果會是: ``` 30 ``` (因為 10 + 20 = 30) --- ### 🧩 解答 - [Answer](https://github.com/4-learn/python-workshop/blob/master/list/answer.py) ---