gpt4 book ai didi

python - 当每个字典都有不同的键时,如何按值对字典列表进行排序?

转载 作者:太空狗 更新时间:2023-10-30 01:45:28 25 4
gpt4 key购买 nike

我有以下字典列表:

dicts = [{'ENE001SOLC': 3},
{'TRN002SIGN': 4},
{'ENE001SOLC': 4, 'TRN002SIGN': 3},
{'TRN002SIGN': 3},
{'TRN002SOLC': 3, 'SAL016DECL': 3},
{'ENE001SOLC': 5, 'SAL016DECL': 3},
{'ENE001SOLC': 4}]

我想按每个字典中的值按降序对这个列表进行排序(高的在前)。我已经访问了很多帖子,但所有帖子都提供了在每个字典的键值相同时对列表进行排序的解决方案,但事实并非如此。预期的输出将是这样的:

[{'ENE001SOLC': 5, 'SAL016DECL': 3},
{'ENE001SOLC': 4, 'TRN002SIGN': 3},
{'ENE001SOLC': 4},
{'TRN002SIGN': 4},
{'TRN002SOLC': 3, 'SAL016DECL': 3},
{'ENE001SOLC': 3},
{'TRN002SIGN': 3}]

我该怎么做??任何帮助将不胜感激。

非常感谢您

最佳答案

您可以使用 sorted 并根据在内部字典值中找到的最大值对列表进行排序:

from operator import itemgetter

sorted(dicts, key=lambda x: max(x.values()), reverse=True)

[{'ENE001SOLC': 5, 'SAL016DECL': 3},
{'TRN002SIGN': 4},
{'ENE001SOLC': 4, 'TRN002SIGN': 3},
{'ENE001SOLC': 4},
{'ENE001SOLC': 3},
{'TRN002SIGN': 3},
{'SAL016DECL': 3, 'TRN002SOLC': 3}]

关于python - 当每个字典都有不同的键时,如何按值对字典列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57180423/

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