首页 > 解决方案 > 首先按值对字典排序,然后在 python 3 中按键排序

问题描述

我按值对字典进行了排序,但是当值相等时,键应按字母顺序排序。我希望我的输出按它们的值降序排序,然后按它们的键(按字母顺序)升序(AZ)

标签: pythonpython-3.xsortingdictionarykey-value

解决方案


my_dictionary = dict({'ca': 'a', 'cb': 'c', 'n': 'b', 'd': 'z', 'f': 'a'})
l=my_dictionary.items() # get a list of (k, v)
l.sort(key=lambda x: x[0],reverse=False) # sort by key in ascending order
l.sort(key=lambda x: x[1],reverse=True) # sort by value in descending order
ordered_keys=[t[0] for t in l] # get an ordered list of the keys

此代码为您提供了一个排序的键列表,您可以使用这些键以您想要的顺序访问值


推荐阅读