如何按属性值对字典进行排序?

我有一个像

{'A': {'frequency': 4}, 'B': {'frequency': 2}, 'C': {'frequency': 7}}

我如何能够按"frequency"属性对其进行排序?


繁花如伊
浏览 161回答 2
2回答

大话西游666

sorted(a, key=lambda x: (a[x]['frequency']))为了按照评论的要求对其进行排序:from collections import OrderedDict OrderedDict(sorted(a.items(), key=lambda x: x[1]['frequency']))

慕雪6442864

字典在 python 中没有顺序。如果您需要订购字典。最好使用集合模块中的 OrderedDictIn [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})])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python