2015-04-02 40 views

回答

4

可以使用key functionmax的:

>>> lod = [ 
... {'name': 'Tom', 'score': 60}, 
... {'name': 'Tim', 'score': 70}, 
... {'name': 'Tam', 'score': 80}, 
... {'name': 'Tem', 'score': 90} 
... ] 
... 
>>> max(lod, key=lambda x: x['score']) 
{'name': 'Tem', 'score': 90} 
+0

謝謝,它運作良好 – limuxy 2015-04-02 05:56:28

4

只需將您的列表max,像這樣:

>>> from operator import itemgetter 
>>> lod = [ 
... {'name': 'Tom', 'score': 60}, 
... {'name': 'Tim', 'score': 70}, 
... {'name': 'Tam', 'score': 80}, 
... {'name': 'Tem', 'score': 90} 
... ] 
>>> max(lod, key=itemgetter('score')) 
{'score': 90, 'name': 'Tem'} 
0

我不知道是否sorting費時,

>>>sorted(lod, key=lambda x:x['score'])[-1] 
{'name': 'Tem', 'score': 90} 
相關問題