python - python中嵌套字典的排序列表

标签 python sorting dictionary

我有类似的东西

[
    {
        "key": { "subkey1":1, "subkey2":"a"  }
    },
    {
        "key": { "subkey1":10, "subkey2":"b" }
    },
    {
        "key": { "subkey1":5, "subkey2":"c" }
    }
]

并且需要有:

[
    {
        "key": { "subkey1":10, "subkey2":"b" }
    },
    {
        "key": { "subkey1":5, "subkey2":"c" }
    },
    {
        "key": { "subkey1":1, "subkey2":"a" }
    }
]

非常感谢!

编辑:我想按 subkey1 排序,这在以前并不清楚。

最佳答案

sorted() function 使用 key 关键字和 sort() method :

yourdata.sort(key=lambda e: e['key']['subkey'], reverse=True)

演示:

>>> yourdata = [{'key': {'subkey': 1}}, {'key': {'subkey': 10}}, {'key': {'subkey': 5}}]
>>> yourdata.sort(key=lambda e: e['key']['subkey'], reverse=True)
>>> yourdata
[{'key': {'subkey': 10}}, {'key': {'subkey': 5}}, {'key': {'subkey': 1}}]

这假定所有 顶级词典都有一个key 键,它被假定为一个带有subkey 键的字典。

参见 Python Sorting HOWTO了解更多详情和技巧。

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

相关文章:

java - 根据拼写错误的单词创建可能的正确拼写列表

python - 如何将字典与相同的键结合起来?

python - 运行时警告 : overflow encountered in np. exp(x**2)

python - 如何将 salt 状态写入 pip 安装要求文件?

python - 关于Python封装的最佳实践

Javascript - 根据日期对包含对象的嵌套数组进行升序和降序排序

swift - 使用十进制数字键在字典中查找最近的键

python - 三次样条插值仅产生 nans 或引发错误

javascript - 拖放 Javascript 可通过移动标记进行排序?

qt - 排序 QObject child