我想从 python 中的字典中获取排序的键列表(我的字典是 int 到 int 的映射)。我希望这些值按升序排序。但是如果发生冲突(相同的值),我希望键按键的数值排序。以下代码可以做到这一点
key=lambda x: (dict[x],x)
但是,我希望值的降序和键的排序(仅在发生冲突的情况下)是降序的。我可以应用 reverse 参数,但这将以相同的方式对键及其值起作用。
有没有办法分开做?
例子
>>> my_dict = {1:5, 2:4, 3:5, 26:3, 5:2, 6:4, 8:3}
>>> my_dict
{1: 5, 2: 4, 3: 5, 5: 2, 6: 4, 8: 3, 26: 3}
>>> sorted_list = sorted(my_dict, key=my_dict.get)
>>> print sorted_list
[5, 8, 26, 2, 6, 1, 3]
我希望输出为 [5, 26, 8, 6, 2, 3, 1]