一、sorted()函數的基本介紹
Python中的sorted()函數用於對可迭代對象進行排序,返回一個新的排序後的列表。
其基本用法為sorted(iterable, key=None, reverse=False)。
其中,iterable為待排序的可迭代對象,key為可選參數,用於指定排序中使用的函數(例如lambda函數),reverse為可選參數,表示是否要進行降序排列。
下面是一個簡單的示常式序:
names = ['Alice', 'Bob', 'Charlie', 'David'] sorted_names = sorted(names) print(sorted_names) # 輸出 ['Alice', 'Bob', 'Charlie', 'David']
在這個示例中,我們對一個由幾個字元串組成的列表進行了排序,並使用print()語句輸出了排序後的結果。
二、lambda函數的基本介紹
在Python中,lambda函數是一種簡單的小函數,通常用於對可迭代對象進行排序。
lambda函數的基本語法為(lambda argument_list: expression),其中argument_list表示函數參數列表,expression為函數體。
下面是一個示常式序:
square = lambda x: x ** 2 print(square(3)) # 輸出 9
在這個示例中,我們定義了一個lambda函數square,並使用print()函數輸出了square(3)的結果。
三、sorted()函數與lambda函數的結合使用
在Python中,我們可以使用sorted()函數和lambda函數的組合,對複雜的數據類型進行排序。
例如,我們可以對一個由字典構成的列表進行排序。
下面是一個示常式序:
students = [ {'name':'Alice', 'score':80}, {'name':'Bob', 'score':90}, {'name':'Charlie', 'score':70}, {'name':'David', 'score':60} ] sorted_students = sorted(students, key=lambda x:x['score'], reverse=True) print(sorted_students)
在這個示例中,我們定義了一個由字典構成的列表students,每個字典包含學生的姓名和分數。我們使用sorted()函數和lambda函數結合,對students列表進行了按照分數的降序排列,並使用print()函數列印了排序後的結果。
四、sorted()函數對文件的排序應用
在Python中,我們還可以使用sorted()函數對文件進行排序。這對於需要處理大量數據的應用程序非常有用。
下面是一個示常式序:
with open('example.txt', 'r') as f: lines = f.readlines() sorted_lines = sorted(lines, key=lambda x:x.split()[1]) with open('sorted_example.txt', 'w') as f: f.writelines(sorted_lines)
在這個示例中,我們讀取文件example.txt中的內容,並將每行內容保存到一個列表lines中。接著,我們使用sorted()函數和lambda函數結合,按照每行內容的第二個單詞對lines列表進行排序。最後,我們將排序後的內容寫入到另一個文件sorted_example.txt中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259477.html