我有一个从数据库中的两个字段读取的值字典:字符串字段和数字字段.字符串字段是唯一的,因此这是字典的键.
我可以对键进行排序,但是如何根据值进行排序?
注意:我已阅读Stack Overflow问题如何按Python中字典的值对字典列表进行排序?并且可能可以更改我的代码以获得字典列表,但由于我不需要字典列表,我想知道是否有更简单的解决方案.
我有一个字典列表,并希望每个项目按特定的属性值排序.
考虑下面的数组,
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
Run Code Online (Sandbox Code Playgroud)
排序时name
,应该成为
[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]
Run Code Online (Sandbox Code Playgroud) 这将是一个很好的方式,从去{2:3, 1:89, 4:5, 3:0}
到{1:89, 2:3, 3:0, 4:5}
?
我检查了一些帖子,但他们都使用返回元组的"已排序"运算符.
假设我有一个字典.
data = {1:'b', 2:'a'}
Run Code Online (Sandbox Code Playgroud)
我希望按'b'和'a'对数据进行排序,以便得到结果
'a','b'
Run Code Online (Sandbox Code Playgroud)
我怎么做?
有任何想法吗?
经过几次尝试,我一直在寻找一种用其值对Python字典进行排序的方法:
a = {<populated dict...>}
a = {v: k for k, v in a.items()}
a = {v: k for k, v in sorted(a.items())}
Run Code Online (Sandbox Code Playgroud)
这段代码似乎有效,但是我认为它的性能很差,有没有更好的方法?