在Python字典中按值排序(降序),然后按键排序(升序)



我有以下字典:

mydict1 = {1: 11, 2: 4, 5: 1, 6: 1}
mydict2 = {1: 1, 5: 1}

对于其中的每一个,我想首先按值排序(降序),然后按键排序(升序),得到以下输出:

out_dict1 = [((1, 11), (2, 4), (5, 1), (6, 1)]
out_dict2 = [(1, 1), (5, 1)]

怎么做?

我使用了这个,但对于上面的两种情况,无法得到一致的结果:

sorted(mydict.items(), key=lambda x: (x[1],x[0]))

由于您希望按降序对值进行排序,因此只需对传递给key参数的函数中的值取反即可,如以下

sorted(mydict.items(), key=lambda x: (-x[1], x[0]))

现在,值将按降序排序,如果两个值相等,则将考虑键,并按升序排序。

相关内容

  • 没有找到相关文章

最新更新