我有一个列表,其中包含单个项目作为字典,可能有不同的键。我想根据值对它们进行排序。 E.g。
让我们说,
unsorted_list = [{'a': 23}, {'b': 34}, {'c': 2}]
排序后,(降序)
sorted_list = [{'b': 34}, {'a': 23}, {'c': 2}]
请让我在python中如何做到这一点
答案 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)