Python 我如何对下面的听写列表进行排序?

Python 我如何对下面的听写列表进行排序?,python,python-3.x,list,sorting,dictionary,Python,Python 3.x,List,Sorting,Dictionary,单个字典由3key:value对组成,我需要通过比较第一个键对字典进行排序,如果值与比较第二个键相同,依此类推,我该怎么做 例如,如果字典列表如下所示: lst = [{'a':10,'b':20,'c':30},{'a':20,'b':50,'c':30},{'a':20,'b':40,'c':10},{'a':20,'b':40,'c':30}] [{'a':20,'b':50,'c':30},{'a':20,'b':40,'c':30},{'a':20,'b':40,'c':10},{'

单个字典由
3
key:value
对组成,我需要通过比较第一个键对字典进行排序,如果值与比较第二个键相同,依此类推,我该怎么做

例如,如果字典列表如下所示:

lst = [{'a':10,'b':20,'c':30},{'a':20,'b':50,'c':30},{'a':20,'b':40,'c':10},{'a':20,'b':40,'c':30}]
[{'a':20,'b':50,'c':30},{'a':20,'b':40,'c':30},{'a':20,'b':40,'c':10},{'a':10,'b':20,'c':30}]
排序后,结果必须如下所示:

lst = [{'a':10,'b':20,'c':30},{'a':20,'b':50,'c':30},{'a':20,'b':40,'c':10},{'a':20,'b':40,'c':30}]
[{'a':20,'b':50,'c':30},{'a':20,'b':40,'c':30},{'a':20,'b':40,'c':10},{'a':10,'b':20,'c':30}]
在这里,我们可以看到,在上一个
3个
字典的
'a'
键的原始列表中,值是相同的,因此我们比较了它们的
'b'
键并对它们进行了相应的排序,但上两个字典的
'b'
键是相同的,因此我们比较了
'c'
键并应用了排序。

您可以使用,在
函数中使用字典的
,这样将根据每个字典中的所有值进行排序:

sorted(lst, key=lambda x: list(x.values()), reverse=True)

[{'a': 20, 'b': 50, 'c': 30},
 {'a': 20, 'b': 40, 'c': 30},
 {'a': 20, 'b': 40, 'c': 10},
 {'a': 10, 'b': 20, 'c': 30}]

示例中的dict有3个键:值对,而不是4个。你们知道在3.7之前,口述是无序的,即第一,第二,等等。键是不明确的,对吗?这可能会帮助你们: