【发布时间】:2021-03-30 11:12:14
【问题描述】:
嘿,我正在尝试按值从最高值到最低值对字典进行排序。 Howevet 我希望具有相同值的项目按键排序。
以下代码不起作用
dictionary = {"Sophie": 23, "Alfred": 23, "Zelda":22, "Betty":23}
sorted(dictionary.items(), key=lambda t: t[::-1])
输出:
[('Zelda', 22), ('Alfred', 23), ('Betty', 23), ('Sophie', 23)]
预期输出:
[('Alfred', 23), ('Betty', 23), ('Sophie', 23), ('Zelda', 22)]
按值递减排序,然后按键(按字母顺序)
【问题讨论】:
-
您期望的输出是什么?看起来您试图按值(生成的 2 元组的第二个值)排序,然后按第一个排序。对我来说它看起来是正确的(23 之前的 22,A,B,然后是 23 的 S)。
标签: python python-3.x sorting dictionary