【发布时间】:2020-01-06 17:19:48
【问题描述】:
单个字典由 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}]
在这里我们可以看到,在最后一个3字典的键'a'的原始列表值是相同的,因此我们比较了它们的'b'键并相应地对它们进行了排序,但是最后2的'b'键字典是相同的,因此我们比较了 'c' 键并应用了排序。
【问题讨论】:
-
您示例中的字典有 3 个键:值对,而不是 4 个。而且您知道在 3.7 之前的字典是无序的,即第一个、第二个等键是不明确的,对吧?
-
这可能对你有帮助:stackoverflow.com/questions/72899/…
标签: python python-3.x list sorting dictionary