如何按字典中的值对字典列表进行排序?

时间:2012-08-15 13:53:15

标签: python list sorting dictionary

  

可能重复:
  In Python how do I sort a list of dictionaries by values of the dictionary?

我正在编写一个Python 3.2应用程序,我有一个包含以下内容的词典列表:

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 }]

我希望列表按评级键中的值排序。我该如何做到这一点?

3 个答案:

答案 0 :(得分:6)

使用operator.itemgetter作为密钥:

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

答案 1 :(得分:4)

您可以使用sorted功能和排序键,指向您希望的任何字段。

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

答案 2 :(得分:1)

from operator import itemgetter
newlist = sorted(team_list, key=itemgetter('rating'))