首頁 > 後端開發 > Python教學 > 使用Python的sorted()函數對列表進行排序

使用Python的sorted()函數對列表進行排序

王林
發布: 2023-11-18 09:10:47
原創
872 人瀏覽過

使用Python的sorted()函數對列表進行排序

使用Python的sorted()函數對清單進行排序

Python是一種功能強大的程式語言,提供了許多內建的函數和方法來幫助開發人員處理不同的任務。其中一個非常有用的函數是sorted()函數,它可以用來對清單進行排序。

sorted()函數接受一個可迭代物件(如列表或元組)作為參數,並傳回一個新的已排序的列表。可以根據元素的大小、字母順序或自訂的規則進行排序。

以下是一些使用sorted()函數對清單進行排序的範例程式碼:

範例1:對一個數字清單進行升序排序

numbers = [5, 2 , 9, 1, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

輸出結果:[1, 2, 3, 5, 9]

##範例2:對字串清單進行字母順序排序

fruits = ["apple", "banana", "cherry", "date"]

sorted_fruits = sorted(fruits)
print( sorted_fruits)

輸出結果:['apple', 'banana', 'cherry', 'date']

範例3:對字串清單進行依照字串長度排序

fruits = ["apple", "banana", "cherry", "date"]

sorted_fruits_by_length = sorted(fruits, key=len)
print(sorted_fruits_by_length)

。結果:['date', 'apple', 'banana', 'cherry']

範例4:對一個字典列表根據指定鍵進行排序


students = [{"name" : "Alice", "age": 18}, {"name": "Bob", "age": 20}, {"name": "Charlie", "age": 15}]
sorted_students_by_age = sorted (students, key=lambda x: x["age"])

print(sorted_students_by_age)

輸出結果:[{"name": "Charlie", "age": 15}, {" name": "Alice", "age": 18}, {"name": "Bob", "age": 20}]

範例5:對一個複雜的物件清單進行排序

class Person:

def __init__(self, name, age):
    self.name = name
    self.age = age

def __repr__(self):
    return f"Person(name={self.name}, age={self.age})"
登入後複製

persons = [Person("Alice", 18), Person("Bob", 20), Person("Charlie", 15)]
sorted_persons_by_age = sorted( persons, key=lambda x: x.age)

print(sorted_persons_by_age)

輸出結果:[Person(name=Charlie, age=15), Person(name=Alice, age=18), Person(name=Bob, age=20)]

從以上範例可見,sorted()函數提供了非常靈活的排序方式。透過適當地使用key參數和lambda函數,我們可以實現對列表的多種排序需求。

要注意的是,sorted()函數並沒有修改原始列表,而是傳回一個新的已排序的列表。如果想在原始清單上進行排序的話,可以使用列表的sort()方法。

總結一下,使用Python的sorted()函數對清單進行排序非常簡單。只需要傳入要排序的清單作為參數,並可以選擇性地指定排序的方式。希望這篇文章對你理解sorted()函數的使用有所幫助。 ###

以上是使用Python的sorted()函數對列表進行排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板