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()就可以搞定。然后取排序结果的值 一一 跟字典列表的键值 去匹配,将匹配相等的字典添加到新的列表。