如何在字典列表中获取具有最高值的字典索引

时间:2011-07-03 07:26:48

标签: python list dictionary

我有一个字典列表,是否可以获得具有最高分数键值的字典或其索引?这是清单。

 lst= [{'name':'tom','score':5},{'name':'jerry','score':10},{'name':'jason','score':8}]

如果应该返回

{'name':'jerry','score':10}

感谢。

4 个答案:

答案 0 :(得分:9)

lambda的{​​{1}}参数使用key的替代方法是max

operator.itemgetter

答案 1 :(得分:8)

内置函数max()采用可选的key函数,该函数可以lambda:

的形式提供
>>> max(lst, key=lambda x:x['score'])
{'score': 10, 'name': 'jerry'}

答案 2 :(得分:3)

我首选的方法是使用lambda来提取分数:

>>> lst= [{'name':'tom','score':5},{'name':'jerry','score':10},{'name':'jason','score':8}]
>>> max(lst, key=lambda d: d['score'])
{'score': 10, 'name': 'jerry'}

答案 3 :(得分:2)

lst= [{'name':'tom','score':5},{'name':'jerry','score':10},{'name':'jason','score':8}]

print max(lst, key=lambda x: x['score'])