排序单项词典列表?

时间:2017-10-13 14:50:09

标签: python

我有一个列表,其中包含单个项目作为字典,可能有不同的键。我想根据值对它们进行排序。 E.g。

让我们说,

unsorted_list = [{'a': 23}, {'b': 34}, {'c': 2}]

排序后,(降序)

sorted_list = [{'b': 34}, {'a': 23}, {'c': 2}]

请让我在python中如何做到这一点

3 个答案:

答案 0 :(得分:2)

你需要根据dict值对这些元素进行排序(无论如何只有一个值),反过来:

unsorted_list = [{'a': 23}, {'b': 34}, {'c': 2}]

sorted_list = sorted(unsorted_list, key = lambda d : list(d.values()), reverse=True)

结果:

[{'b': 34}, {'a': 23}, {'c': 2}]

答案 1 :(得分:1)

你可以试试这个:

unsorted_list = [{'a': 23}, {'b': 34}, {'c': 2}]
final_data = sorted(unsorted_list, key=lambda x:x.values()[0])[::-1]

输出:

[{'b': 34}, {'a': 23}, {'c': 2}]

答案 2 :(得分:0)

这应该做你需要的:

sorted_list = sorted(unsorted_list, key=lambda x: list(x.values())[0]*-1)

sorted_list = sorted(unsorted_list, key=lambda x: list(x.values())[0], reverse=True)