python 从字典列表中获取最多两项的字典[重复]

yzuktlbb  于 2023-05-27  发布在  Python
关注(0)|答案(1)|浏览(222)

此问题已在此处有答案

How to find the max number(s) in a list with tied numbers(4个答案)
Get the n top elements from a list of lists(2个答案)
Python sorting by multiple criteria(2个答案)
21小时前关门了。
我想得到一个字典列表中的字典,它具有两个最大值:

manager1={"id":"1","start_date":"2019-08-01","perc":20}
manager2={"id":"2","start_date":"2021-08-01","perc":20}
manager3={"id":"3","start_date":"2019-08-01","perc":80}
manager4={"id":"4","start_date":"2021-08-01","perc":80}
managers=[manager1,manager2,manager3,manager4]

我想选择开始日期最晚的经理,然后获取perc值最大的经理
我可以做到:

max(managers, key=lambda x:x['perc'])

要得到最大的perc,我如何让它返回多个dict。在这种情况下,它给出Manager3。但我希望经理4回来。

b1uwtaje

b1uwtaje1#

你可以通过相关性创建一个max key的元组:

max(managers, key=lambda x:(x['start_date'], x['perc']))

相关问题