按值對 Python 字典列表進行排序的方法
此處給出的是一個字典,我們的任務是按其值對它們進行排序。此字典有兩個值,一個為名稱,另一個為評分。首先,我們使用 lambda 函式和內建的 sorted 函式按照他們的評分來顯示排序好的列表。
其次,我們按照名字和評分對列表進行排序,第三次按照名字排序。
示例程式碼
# 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}]
廣告