我想对所有字典按递增排序,但每当我得到相同的值时,就按降序排序



我正在尝试根据升序的值对python字典进行排序。但是,如果值相同,则应根据键按降序对项进行排序。

input={-1: 1, 5: 1, -6: 2, 4: 2, 1: 3}
desired_output={5:1, -1:1, 4:2, -6:2, 1:3}

谁能提出一个有效的方法来做这件事?这是我目前使用的方法。

dic=dict(sorted(dic.items(),key=lambda x:x[1]))

您可以按元组排序,因此只需将key参数更改为:

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

相关内容

  • 没有找到相关文章

最新更新