python字典排序

问题遇到的现象和发生背景

python字典列表怎么排序?

问题相关代码,请勿粘贴截图
data=[{'Q': 'spades'}, {'8': 'spades'}, {'2': 'clubs'}]
我的解答思路和尝试过的方法

搜了一下午都没找到答案

我想要达到的结果

按照字典的键排序。
结果是

data=[ {'2': 'clubs'} ,{'8': 'spades'},{'Q': 'spades'}]

这样貌似可以的。


if __name__ == '__main__':
    data = [{'Q': 'spades'}, {'8': 'spades'}, {'2': 'clubs'}]
    data.sort(key=lambda d: list(d.items())[0])
    print(data)
data.sort(key=lambda x:[k for k,v in x.items()])

给你提供个思路吧。取出字典的键值,组成新的列表。给这个列表排序,sort()就可以搞定。然后取排序结果的值 一一 跟字典列表的键值 去匹配,将匹配相等的字典添加到新的列表。


可以看下python参考手册中的 python- 字典