我有一个字典列表,是否可以获得具有最高分数键值的字典或其索引?这是清单。
lst= [{'name':'tom','score':5},{'name':'jerry','score':10},{'name':'jason','score':8}]
如果应该返回
{'name':'jerry','score':10}
感谢。
答案 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'])