我正在尝试根据升序的值对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])))