我有一個詞典列表,是否有可能獲得具有最高分值鍵值的詞典或其索引?這裏是列表。如何獲得詞典列表中具有最高值的詞典的索引
lst= [{'name':'tom','score':5},{'name':'jerry','score':10},{'name':'jason','score':8}]
是否應該返回
{'name':'jerry','score':10}
感謝。
我有一個詞典列表,是否有可能獲得具有最高分值鍵值的詞典或其索引?這裏是列表。如何獲得詞典列表中具有最高值的詞典的索引
lst= [{'name':'tom','score':5},{'name':'jerry','score':10},{'name':'jason','score':8}]
是否應該返回
{'name':'jerry','score':10}
感謝。
我的優選方式的形式提供。將使用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'])
於使用lambda
爲key
參數的替代max
,是operator.itemgetter
:
from operator import itemgetter
max(lst, key=itemgetter('score'))
謝謝Johnsyweb :) – unice
總是樂於幫助。 – Johnsyweb