Python 使用自定义序列对值字典进行排序
因此,基本上我有一个字典列表,其中包含以下值:Python 使用自定义序列对值字典进行排序,python,sorting,dictionary,Python,Sorting,Dictionary,因此,基本上我有一个字典列表,其中包含以下值: [ {'First Name ':'Stephen', 'Last Name':'Queen','Age':61,'Marks':89}, {'First Name ':'Stephen', 'Last Name':'Queen','Age':89,'Marks':68}, {'First Name ':'Angelica', 'Last Name':'King','Age':39,'Marks':84}, {'First Name ':'
[
{'First Name ':'Stephen', 'Last Name':'Queen','Age':61,'Marks':89},
{'First Name ':'Stephen', 'Last Name':'Queen','Age':89,'Marks':68},
{'First Name ':'Angelica', 'Last Name':'King','Age':39,'Marks':84},
{'First Name ':'Stephen', 'Last Name':'King','Age':29,'Marks':78},
{'First Name ':'Stephen', 'Last Name':'Queen','Age':61,'Marks':84},
]
所以我基本上想对这些值进行排序,首先是名字的升序,然后是第二个名字的升序,然后是年龄的降序,最后是标记的降序。所以,在排序之后,它应该是这样的:
[
{'First Name ':'Angelica', 'Last Name':'King','Age':39,'Marks':84},
{'First Name ':'Stephen', 'Last Name':'King','Age':29,'Marks':78},
{'First Name ':'Stephen', 'Last Name':'Queen','Age':89,'Marks':68},
{'First Name ':'Stephen', 'Last Name':'Queen','Age':61,'Marks':98},
{'First Name ':'Stephen', 'Last Name':'Queen','Age':61,'Marks':89}
]
所以我的问题是要用一种蟒蛇式的方法来有效地做到这一点。我尝试过,但没有想到将其复制到我的案例中,在我的案例中,我希望同时对多个键进行自定义排序(即创建一种映射器,以用户定义的方式对字典进行排序)。这是直截了当的,因为python默认情况下首先根据第一个单元格对元组/列表进行排序,然后根据第二个单元格对元组/列表进行排序。。。因此,请扩展您链接到的解决方案:
newlist = sorted(list_to_be_sorted, key=lambda k: (k['First Name '],k['Last Name'],-k['Age'],-k['Marks']))
-
符号将诱使升序排序按“标记”和“年龄”进行下降