[英]How to get the dictionary with the highest value in a list of dicts
我有一个字典列表。 是否可以获得具有最高得分键值的字典或其索引? 这是列表:
lst = [{'name': 'tom', 'score': 5},
{'name': 'jerry', 'score': 10},
{'name': 'jason', 'score': 8}]
它应该返回:
{'name': 'jerry', 'score': 10}
使用lambda
作为max
的key
参数的替代方法是operator.itemgetter
:
from operator import itemgetter
max(lst, key=itemgetter('score'))
内置 function, max()
采用可选key
function,可以以lambda
的形式提供:
>>> max(lst, key=lambda x:x['score'])
{'score': 10, 'name': 'jerry'}
我的首选方法是使用 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'}
lst= [{'name':'tom','score':5},{'name':'jerry','score':10},{'name':'jason','score':8}]
print max(lst, key=lambda x: x['score'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.