在Python 中按字典值對字典列表進行排序
按特定鍵的值對字典列表進行排序是一項常見任務在Python編程中。這允許您以有意義的順序組織字典,例如按名稱字母順序或按年齡數字順序。
解決方案
按值對字典列表進行排序對於特定鍵,您可以使用帶有 key= 參數的排序()函數。此參數採用一個函數,該函數從每個字典中提取所需鍵的值。
使用 Lambda 函數
實現此目的的一種方法是使用 lambda 函數,這是一個沒有名稱的匿名函數。例如,要按「name」鍵對給定的字典列表進行排序:
newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])
使用operator.itemgetter
或者,而不是定義自己的函數,您可以使用operator.itemgetter函數,它提供了一種從物件中提取值的便捷方法。例如:
from operator import itemgetter newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
反向排序
如果要按降序排序,可以在sorted()函數中加入reverse=True參數:
newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)
這將傳回一個包含排序字典的新清單。原始列表保持不變。
以上是如何在 Python 中按值對字典列表進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!