首页 > 解决方案 > 如何按键对字典进行排序?

问题描述

我只想按键对字典进行排序,但我失败了。

我的字典是

myDic={'a':{},'b':{},'c':{}}

sorted(myDic.items(),reverse=True)

但它返回

{'a': {}, 'c': {}, 'b': {}}

但我想{'c': {}, 'b': {}, 'a': {}} 按降序排序

标签: python-3.x

解决方案


sorted将始终返回一个列表。您不能像 Python 3.6 之前那样对字典进行排序,字典没有顺序。

您似乎忘记将值分配给变量:

myDic = {{'a':{},'b':{},'c':{}}
sorted_keys = sorted(myDic, reverse=True)

我没有排序myDic.items(),因为我们只需要将键排序到列表中。

现在,当您想“按顺序”遍历字典时,遍历排序键列表并从字典中获取相应的值:

for key in sorted_keys:
    print(myDic[key])

推荐阅读