2025 最新 Python 程式教學:利用 Python 串列(List)使用 sum() 函數計算串列中數值元素的總和

Python 是一種非常有用的程式語言,它可以讓開發者快速地開發出功能強大的應用程式。Python 中的串列(List)是一種常用的資料結構,可以儲存多個元素,並且可以使用 `sum()` 函數來計算串列中所有數值元素的總和。

### 基本用法

`sum()` 函數可以用來計算串列中所有數值元素的總和。它接受一個參數,該參數是一個串列,並將串列中所有數值元素的總和傳回。例如,假設我們有一個串列,其中包含了一些數字:

“`python
numbers = [1, 2, 3, 4, 5] “`

我們可以使用 `sum()` 函數來計算這個串列中所有數值元素的總和:

“`python
total = sum(numbers)
print(total)
“`

執行上面的程式碼,將會得到以下輸出:

“`
15
“`

因此,我們可以得知 `numbers` 串列中所有數值元素的總和為 15。

### 使用第二個參數

`sum()` 函數還可以接受第二個參數,該參數是一個數值,用來指定從串列中計算總和的開始位置。例如,假設我們想要從 `numbers` 串列的第二個元素開始計算總和:

“`python
total = sum(numbers, 2)
print(total)
“`

執行上面的程式碼,將會得到以下輸出:

“`
14
“`

因此,我們可以得知 `numbers` 串列中從第二個元素開始的數值元素的總和為 14。

### 錯誤排除

在使用 `sum()` 函數時,您可能會遇到以下幾種常見錯誤:

1. **TypeError:unsupported operand type(s)**
當串列中包含非數值類型時,會導致此錯誤。請確保串列中所有元素都是數字。

“`python
mixed_list = [1, 2, ‘three’, 4] total = sum(mixed_list) # 這會引發 TypeError
“`

2. **空串列的處理**
如果傳入的是一個空串列,`sum()` 會返回 0,這是合乎預期的行為。

“`python
empty_list = [] total = sum(empty_list) # 返回 0
“`

### 延伸應用

`sum()` 函數不僅限於串列,還可以用於其他可迭代對象,例如元組和集合:

“`python
tuple_numbers = (1, 2, 3, 4, 5)
total = sum(tuple_numbers)
print(total) # 輸出: 15
“`

此外,您可以結合列表推導式來計算特定條件下的總和,例如計算所有偶數的總和:

“`python
even_sum = sum(num for num in numbers if num % 2 == 0)
print(even_sum) # 輸出: 6
“`

### 結論

總結來說,Python 中的 `sum()` 函數是一個非常強大的工具,可以輕鬆計算串列中所有數值元素的總和。它的靈活性使其適用於各種情境,並且簡化了數據處理的過程。若想了解更多 Python 的使用技巧,歡迎參考 [這裡的教學](https://vocus.cc)。

### Q&A(常見問題解答)

**Q1: sum() 函數可以處理非數字類型嗎?**
A1: 不可以,`sum()` 函數僅支持數字類型的元素。如果串列中包含非數字類型,會引發 TypeError。

**Q2: 如果要計算串列中所有負數的總和,該怎麼做?**
A2: 您可以使用列表推導式來篩選負數,然後再使用 `sum()` 函數計算,例如:`total = sum(num for num in numbers if num < 0)`。 **Q3: sum() 函數的性能如何?** A3: `sum()` 函數在計算大量數據時表現良好,因為它是在 C 語言層面實現的,通常比手動迭代更快。不過,數據量非常龐大的情況下,還是建議考慮使用 NumPy 等庫來進行更高效的數據處理。 ---

Categorized in:

Tagged in: