[英]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.