gpt4 book ai didi

python - 在 Python 2.7 中将嵌套字典排序为有序列表

转载 作者:行者123 更新时间:2023-11-28 21:48:44 25 4
gpt4 key购买 nike

我有以下命令:

d = {'d_1': {'score': 5.2, 'concept': 'a'}, 
'd_2': {'score': 10.1, 'concept': 'e'},
'd_3': {'score': 1.5, 'concept': 'c'},
'd_4': {'score': 20.2, 'concept': 'd'},
'd_5': {'score': 0.9, 'concept': 'b'}}

我想得到一个按分数排序的列表,如下所示:

d_sorted = [{'d_4': {'score': 20.2, 'concept': 'd'}},
{'d_2': {'score': 10.1, 'concept': 'e'}},
{'d_1': {'score': 5.2, 'concept': 'a'}},
{'d_3': {'score': 1.5, 'concept': 'c'}},
{'d_5': {'score': 0.9, 'concept': 'b'}}]

我尝试了以下方法,但会按概念而不是分数排序:

d_sorted = sorted(d.items(), key=operator.itemgetter(1), reverse=True)

在 Python 2.7 中,我如何按分数键(降序)将这个嵌套字典排序为有序列表?

编辑:这不是 Sort a nested dict into an ordered list in Python 2.7 的副本因为它涉及嵌套的字典。

最佳答案

先提取值:

[{k: v} for k, v in sorted(d.items(), key=(lambda x: x[1]['score']), reverse=True)]

关于python - 在 Python 2.7 中将嵌套字典排序为有序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34787475/

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