簡體   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