我有一个从数据库中的两个字段读取的值字典:字符串字段和数字字段.字符串字段是唯一的,因此这是字典的键.
我可以对键进行排序,但是如何根据值进行排序?
注意:我已阅读Stack Overflow问题如何按Python中字典的值对字典列表进行排序?并且可能可以更改我的代码以获得字典列表,但由于我不需要字典列表,我想知道是否有更简单的解决方案.
我有一个字典,其中包含我想要排序的字符串键和int值.我希望它首先按减少数值排序,然后按字母顺序排序.
例如,如果你有一个字典包含:
my_dict = {'zebra':1, 'the':201, 'apple':1, 'chicken':58}
Run Code Online (Sandbox Code Playgroud)
生成的排序列表将包含:
{('the', 201), ('chicken', 58), ('apple', 1), ('zebra', 1)
Run Code Online (Sandbox Code Playgroud)
目前我正在使用以下内容:
my_list = sorted(my_dict.items(), key=lambda x: (x[1],x[0])
Run Code Online (Sandbox Code Playgroud)
我得到一个列表,先按升序排序,然后按字母顺序排序.
如何反转值而不是键?我知道你可以将第三个参数传递reverse=[boolean]给sorted()方法,但它要么反转BOTH键和值,要么反转.怎么可以只通过一次逆转排序?谢谢你的帮助!