我有一个类似
的字典{'A': {'frequency': 4}, 'B': {'frequency': 2}, 'C': {'frequency': 7}}
如何通过"frequency"
属性对此进行排序?
答案 0 :(得分:1)
sorted(a, key=lambda x: (a[x]['frequency']))
要根据评论的要求将其排序:
from collections import OrderedDict
OrderedDict(sorted(a.items(), key=lambda x: x[1]['frequency']))
答案 1 :(得分:1)
字典在python中不排序。如果您需要订购字典。最好使用集合模块中的OrderedDict
In [24]: from collections import OrderedDict
...: d = {'A': {'frequency': 4}, 'B': {'frequency': 2}, 'C': {'frequency': 7}}
...:
...: ord_a = OrderedDict(sorted(ord_d.items(), key = lambda x: x[1]['frequency']))
...:
...:
In [25]:
In [25]: print(ord_a)
OrderedDict([('B', {'frequency': 2}), ('A', {'frequency': 4}), ('C', {'frequency': 7})])