将字典中的键重新排列在给定键之下

时间:2019-02-01 14:21:41

标签: python python-3.x

我有一个带键slug的字典,我想将字典中的所有键/值对放入子字典,其名称取自slug

例如,输入以下内容:

{
    "tasks": {},
    "task_defaults": {
        "retry": {
            "count": 3,
            "delay": 2
        }
    },
    "slug": "test"
}

我想要这个输出:

{
    "test": {
        "tasks": {},
        "task_defaults": {
            "retry": {
                "count": 3,
                "delay": 2
            }
        }
    }
}

我该如何实现?

1 个答案:

答案 0 :(得分:2)

如果可以返回一个新的dict对象,该对象引用了输入字典中的内部值,则可以执行以下操作:

def group_by_slug(data):
    return {
        data['slug']: {
            key: value for key, value in data.items()
            if key != 'slug'
        }
    }