一、sort方法簡介
Python中內置的sort()方法可以對列表進行排序。sort()方法本身沒有返回值,而是在原來的list上進行操作,將list中所有元素按指定順序重新排列。
my_list = [3, 2, 1] my_list.sort() print(my_list) # 輸出結果為 [1, 2, 3]
使用sort方法時可以傳入一個參數key,來指定排序的方式。key應該是一個函數,這個函數接受一個元素作為參數並返回一個用於比較的關鍵字。sort()方法會以這個關鍵字進行排序。例如,下面的例子將根據元素的絕對值對列表進行排序:
my_list = [3, -2, -1, 4] my_list.sort(key=abs) print(my_list) # 輸出結果為 [-1, -2, 3, 4]
二、使用sort()方法對字元串列表進行排序
我們可以使用sort()方法對字元串列表進行排序。Python提供了多種排序方式,下面介紹兩種:字典序排序和字元串長度排序。
1、按字典序排序
按字典序排序類似於根據字典的索引對值進行排序。例如,下面的例子對一個元素為字元串的列表進行字典序升序排序:
words_list = ['apple', 'cat', 'boy', 'dog'] words_list.sort() print(words_list) # 輸出結果為 ['apple', 'boy', 'cat', 'dog']
2、按字元串長度排序
另一種方法是按照字元串的長度進行排序。我們可以定義一個以字元串的長度為依據的函數,並將其作為key參數傳遞給sort()方法。例如,下面的例子將根據字元串的長度對字元串列表進行升序排序:
def length(word): return len(word) words_list = ['apple', 'cat', 'boy', 'dog'] words_list.sort(key=length) print(words_list) # 輸出結果為 ['cat', 'boy', 'dog', 'apple']
三、使用sort()方法對元組列表進行排序
元組是Python中的一種不可變序列類型。我們可以使用sort()方法對元組列表進行排序。
1、按元組中一個元素排序
我們可以按元組中的一個元素進行排序,例如:
data = [(1, 'Alice'), (3, 'Bob'), (2, 'Charlie')] data.sort(key=lambda x: x[0]) print(data) # 輸出結果為 [(1, 'Alice'), (2, 'Charlie'), (3, 'Bob')]
2、按元組中多個元素排序
我們也可以按元組中的多個元素進行排序。例如,下面的例子將首先按元組中的第二個元素進行降序排序,然後按元組中的第一個元素進行升序排序:
data = [(1, 'Charlie'), (3, 'Alice'), (2, 'Bob'), (3, 'David')] data.sort(key=lambda x: (-x[1], x[0])) print(data) # 輸出結果為 [(3, 'David'), (3, 'Alice'), (2, 'Bob'), (1, 'Charlie')]
四、使用sort()方法對對象列表進行排序
我們可以使用sort()方法對對象列表進行排序。下面的例子定義了一個Person類,並使用sort()方法按屬性進行排序。
class Person: def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return f'{self.name}({self.age})' people = [ Person('Alan', 23), Person('Bob', 20), Person('Charlie', 25), ] people.sort(key=lambda x: x.age) print(people) # 輸出結果為 [Bob(20), Alan(23), Charlie(25)]
五、結語
sort()方法是Python中常用的對列表進行排序的方法。在本文中,我們簡要介紹了sort()方法的使用方式,並介紹了如何使用sort()方法實現對字元串列表、元組列表和對象列表的排序。掌握sort()方法對於編寫高效程序和進行數據處理具有重要意義。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/191075.html