How can I sort a list of dictionaries by a value in the dictionary?

Possible Duplicate:
In Python how do I sort a list of dictionaries by values of the dictionary?

I'm writing a Python 3.2 app and I have a list of dictionaries containing the following:

teamlist = [{ "name":"Bears", "wins":10, "losses":3, "rating":75.00 },
            { "name":"Chargers", "wins":4, "losses":8, "rating":46.55 },
            { "name":"Dolphins", "wins":3, "losses":9, "rating":41.75 },
            { "name":"Patriots", "wins":9, "losses":3, "rating": 71.48 }]

I want the list to be sorted by the values in the rating key. How do I accomplish this?


使用operator.itemgetter作为关键字:

sorted(teamlist, key=operator.itemgetter('rating'))

您可以使用带有排序键的sorted函数来引用您希望的任何字段。

teamlist_sorted = sorted(teamlist, key=lambda x: x['rating'])

from operator import itemgetter
newlist = sorted(team_list, key=itemgetter('rating')) 
链接地址: http://www.djcxy.com/p/70764.html

上一篇: 按列表的属性排序列表

下一篇: 我如何根据字典中的值对字典列表进行排序?