[英]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.