gpt4 book ai didi

python - 我如何对以下词典列表进行排序?

转载 作者:行者123 更新时间:2023-11-28 16:56:32 25 4
gpt4 key购买 nike

单个字典由 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' 它们的键并相应地对它们进行排序,但是最后两个字典的 'b' 键是相同的因此我们比较了 'c' 键并应用了排序。

最佳答案

你可以使用 sorted ,在 key 函数中获取字典的 values,这样排​​序将根据每个字典中的所有值进行:

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}]

关于python - 我如何对以下词典列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com