作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下词典:
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
参数的函数中取反 values 的值,就像这样
sorted(mydict.items(), key=lambda x: (-x[1], x[0]))
现在,值将按降序排序,如果两个值相等,将考虑键并将它们按升序排序。
关于python - 在 Python 字典中按值(降序)排序,然后按键(升序)排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29224470/
我是一名优秀的程序员,十分优秀!