Python 是一種非常有用的程式語言,它可以讓開發者快速地建立出功能強大的應用程式。在 Python 中,串列(List)是一種常見的資料結構,而排序串列則是開發過程中經常需要的操作之一。這篇文章將帶您了解如何使用 **sorted()** 函數來對串列進行排序,並提供 2025 年最新的最佳實踐與實作範例。

### 使用 sorted() 函數進行排序

在 Python 中,您可以使用 **sorted()** 函數來將串列中的元素進行排序。這個函數不會改變原本的串列,而是返回一個新的已排序串列。簡單的用法如下:

“`python
my_list = [3, 5, 1, 4, 2] sorted_list = sorted(my_list)

print(sorted_list)
# 輸出: [1, 2, 3, 4, 5] “`

在這段程式碼中,`my_list` 中的元素會被排序,結果存放在 `sorted_list` 中,而原本的 `my_list` 保持不變。

### 反向排序

除了基本的排序,**sorted()** 函數還接受一個可選的參數 `reverse`,可以控制排序的方向。若將 `reverse` 設為 `True`,則會得到一個反向排序的結果:

“`python
my_list = [3, 5, 1, 4, 2] sorted_list = sorted(my_list, reverse=True)

print(sorted_list)
# 輸出: [5, 4, 3, 2, 1] “`

在這個例子中,`my_list` 的元素被反向排序,並存放在 `sorted_list` 中。

### 錯誤排除

在使用 **sorted()** 函數時,開發者可能會遇到一些常見的錯誤,例如:

1. **TypeError**:當串列中包含不同類型的元素時,使用 **sorted()** 會導致錯誤。例如,您無法將字串與整數一起進行排序。確保所有元素都是相同類型。

2. **空串列**:對於空串列,**sorted()** 函數會返回空串列,這是正常行為。

### 延伸應用

除了基本的排序功能,您還可以利用 **sorted()** 函數的 `key` 參數來進行更複雜的排序,例如根據物件的某個屬性進行排序。以下是根據字串長度進行排序的例子:

“`python
words = [“apple”, “banana”, “cherry”, “date”] sorted_words = sorted(words, key=len)

print(sorted_words)
# 輸出: [‘date’, ‘apple’, ‘banana’, ‘cherry’] “`

### 結語

總結來說,使用 Python 中的 **sorted()** 函數可以輕鬆地將串列中的元素排序,無論是正向還是反向排序,這對於開發者來說都是一個非常方便的功能。若您想要進一步深入了解 Python 的其他功能,歡迎參考 [這裡的教學資源](https://vocus.cc)。

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

**Q1: sorted() 函數的返回值是什麼?**
A1: **sorted()** 函數返回一個新的已排序串列,原始串列不會改變。

**Q2: 如何對字典進行排序?**
A2: 您可以使用 **sorted()** 函數對字典的 keys 或 values 進行排序,並利用 `key` 參數自訂排序邏輯。

**Q3: sorted() 函數可以用來排序哪些資料類型?**
A3: **sorted()** 函數可以用來排序可迭代的資料類型,例如串列、元組、字串等,但必須確保其中的元素類型相同。

Categorized in:

Tagged in: