在键上对嵌套的dict进行排序

时间:2017-03-23 10:40:03

标签: python sorting dictionary

我在OrderedDicts和排序方面遇到了一些问题。

目前我的dict具有以下布局:

equipment_type_id

我想要做的是按降序对键值上的每个嵌套字典进行排序。 所以输出应该如下所示:

{"da": {1.0 : [], 1.5 : []}, "en" : {1.2 : [], 1.8 : []}}

使用OrderedDict证明是一项挑战

{"da": {1.5 : [], 1.0 : []}, "en" : {1.8 : [], 1.2 : []}}

这给了我:

outputDict = OrderedDict(sorted(inputDict.items(), key=lambda t: t[1].keys()))

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

import collections

a={"da": {1.0 : [], 1.5 : []}, "en" : {1.2 : [], 1.8 : []}}

print {k:collections.OrderedDict(sorted(v.items(),reverse=True)) for k,v in a.items()}

输出:

{'en': OrderedDict([(1.8, []), (1.2, [])]), 'da': OrderedDict([(1.5, []), (1.0, [])])}