按值對 Python 字典列表進行排序的方法


此處給出的是一個字典,我們的任務是按其值對它們進行排序。此字典有兩個值,一個為名稱,另一個為評分。首先,我們使用 lambda 函式和內建的 sorted 函式按照他們的評分來顯示排序好的列表。

其次,我們按照名字和評分對列表進行排序,第三次按照名字排序。

示例程式碼

Live Demo

# Initializing list of dictionaries 
my_list1 = [{ "name" : "Adwaita", "roll" : 100},
{ "name" : "Aadrika", "roll" : 234 },
{ "name" : "Sakya" , "roll" : 23 }]
print ("The list is sorted by roll: ")
print (sorted(my_list1, key = lambda i: i['roll']) )
print ("\r")
print ("The list is sorted by name and roll: ")
print (sorted(my_list1, key = lambda i: (i['roll'], i['name'])) )
print ("\r")
print ("The list is sorted by roll in descending order: ")
print (sorted(my_list1, key = lambda i: i['roll'],reverse=True) )

輸出

The list is sorted by roll: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}]
The list is sorted by name and roll: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}]
The list is sorted by roll in descending order: 
[{'name': 'Aadrika', 'roll': 234}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Sakya', 'roll': 23}]

更新於: 30-Jul-2019

165 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告