使用子词典和随机键排序词典列表

时间:2015-09-02 03:11:23

标签: python list sorting dictionary

帮助整理此列表

from operator import itemgetter
l = [
      {'Ad28b4fac': {'url': 'http://a.com/', 'rating': 0}},
      {'cx28b4ffc': {'url': 'http://www.dbr/', 'rating': 1}}
    ]
# sort this list by rating value

我试试

  sorted(l, key=lambda x : l[x]) 

l.sort();

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这样的东西
>>> sorted(l, key=lambda x : list(x.keys())[0])
[{'Ad28b4fac': {'url': 'http://a.com/', 'rating': 0}}, {'cx28b4ffc': {'url': 'http://www.dbr/', 'rating': 1}}]

每次迭代的lambda参数是列表l中的字典。现在我们希望对字典键上的数据进行排序。因此使用dict.keys()函数将返回字典中的所有键。我们采用第一个[0],它恰好是基于此的唯一键和排序。