如何从字典列表中获取值最大的字典
我有一个字典的列表。有没有办法找到分数最高的那个字典,或者找到它在列表中的位置?下面是这个列表:
lst = [{'name': 'tom', 'score': 5},
{'name': 'jerry', 'score': 10},
{'name': 'jason', 'score': 8}]
它应该返回:
{'name': 'jerry', 'score': 10}
4 个回答
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'}
9
使用 max
函数时,除了可以用 lambda
来指定 key
参数外,还有一个替代方法,就是使用 operator.itemgetter
。
from operator import itemgetter
max(lst, key=itemgetter('score'))