首頁 >後端開發 >Python教學 >如何在 Python 中按特定鍵的值對字典列表進行排序?

如何在 Python 中按特定鍵的值對字典列表進行排序?

Barbara Streisand
Barbara Streisand原創
2024-12-24 13:54:14745瀏覽

How Can I Sort a List of Dictionaries by a Specific Key's Value in Python?

在Python 中按字典值對字典列表進行排序

根據特定鍵的值對字典列表進行排序可能會出現在各項排序種程式場景。考慮代表個人及其年齡的字典範例清單:

input_list = [{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]

按名稱排序此清單將產生以下輸出:

sorted_list = [{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]

解:

解:

解:

sorted_list = sorted(input_list, key=lambda d: d['name'])
Python 的sorted() 函數提供了一種透過應用自訂排序規則對資料結構進行排序的便捷方法。若要按特定鍵的值對字典清單進行排序,請使用 key= 參數。

方法 1:使用 Lambda 函數

key= 參數需要一個函數它接受字典作為輸入並傳回用於排序的鍵的值。以下程式碼使用 lambda 函數:
from operator import itemgetter
sorted_list = sorted(input_list, key=itemgetter('name'))

方法 2:使用 itemgetter

作為定義 lambda 函數的替代方法,您可以使用 operator.itemg (etter)函數:
sorted_list = sorted(input_list, key=itemgetter('name'), reverse=True)
降序排序順序要依降序排序,請在sorted()函數中指定reverse=True:

以上是如何在 Python 中按特定鍵的值對字典列表進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn