我尝试对字典进行两次排序:先按值降序,然后按字母顺序排列键
比如说,
tally = {"hello": 5, "dog": 12, "cat": 1, "bird": 5, "lion": 5}
我想输出一个列表,其中包含每个单词,按降序值排序
output = ["dog", "hello", "bird", "lion", "cat"]
然后在此排序中,按字母顺序对其进行子排序 例如:
final_result = ["dog", "bird", "hello", "lion", "cat"]
我实际上不需要获取列表output
,我只需要获取final_result
。因此,如果有一种方法可以通过一个步骤来实现,那就更好了。那我该怎么做呢
我尝试使用key = lambda t:t[1]
进行初始排序,但结果是生成了一个包含字典中的键和值的元组。这显然不起作用,因为我只想要单词,而且我也不知道如何在其中进行子排序
提前谢谢你的帮助
您可以使用自定义
key
根据这两个条件进行排序。这可以通过指定元组(-value,key)
在一个步骤中完成,其中通过采用values
的负号,我们得到一个降序排序:逻辑} 给出
(-value,key)
由^{相关问题 更多 >
编程相关推荐