繁体   English   中英

用子字典和随机键对字典排序

[英]sort list of dictionaries with sub-dictionaries and random key

帮助排序此列表

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();

谢谢你的帮助

就像是

>>> 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] ,它恰好是唯一的键,并以此为基础进行排序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM