根据字典键对字典列表进行排序

时间:2015-11-09 03:36:32

标签: python list sorting dictionary key

我有一个python字典列表如下:

[{'k':{'fruit':'apple','flower':'lily'}},
 {'a':{'fruit':'mango','flower':'lotus'}},
 {'e':{'fruit':'peach','flower':'rose'}}]

我想根据以下格式的字典键对列表进行排序。

[{'a':{'fruit':'mango','flower':'lotus'}},
 {'e':{'fruit':'peach','flower':'rose'}},
 {'k':{'fruit':'apple','flower':'lily'}}]

我怎样才能做到这一点。请建议我。

1 个答案:

答案 0 :(得分:3)

使用list.sort(进行排序)或使用key参数sorted(获取新的排序列表):

>>> lst = [
...     {'k': {'fruit': 'apple', 'flower': 'lily'}},
...     {'a': {'fruit': 'mango', 'flower': 'lotus'}},
...     {'e': {'fruit': 'peach', 'flower': 'rose'}}
... ]
>>> lst.sort(key=lambda d: next(iter(d)))
>>> lst
[{'a': {'fruit': 'mango', 'flower': 'lotus'}},
 {'e': {'fruit': 'peach', 'flower': 'rose'}},
 {'k': {'fruit': 'apple', 'flower': 'lily'}}]