我有一个像{'A': {'frequency': 4}, 'B': {'frequency': 2}, 'C': {'frequency': 7}}我如何能够按"frequency"属性对其进行排序?
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
sorted(a, key=lambda x: (a[x]['frequency']))
为了按照评论的要求对其进行排序:
from collections import OrderedDict
OrderedDict(sorted(a.items(), key=lambda x: x[1]['frequency']))
慕雪6442864
TA贡献1812条经验 获得超5个赞
字典在 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})])
添加回答
举报
0/150
提交
取消