按REVERSE VALUE排序字典,然后按NON-REVERSE KEY排序

k12*_*234 2 python sorting dictionary

我有一个字典,其中包含我想要排序的字符串键和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键和值,要么反转.怎么可以只通过一次逆转排序?谢谢你的帮助!

nie*_*mmi 5

只是否定该值并将其用作主键:

>>> my_dict = {'zebra':1, 'the':201, 'apple':1, 'chicken':58}
>>> sorted(my_dict.items(), key=lambda x: (-x[1], x[0]))
[('the', 201), ('chicken', 58), ('apple', 1), ('zebra', 1)]
Run Code Online (Sandbox Code Playgroud)