首页 > 解决方案 > 在 Python 中展平字典以使每个键和列表元素配对的正确方法是什么?

问题描述

我有一个字典对象,看起来像:

my_dict = {
    first_key: [{},{}],
    second_key: [{},{}],
    n_key: [{},{}, etc...]
}

我想展平对象,使其现在看起来像:

{first_key: {object_1}, first_key: {object_2}; second_key, {object_1}, etc...}

非常感谢任何有关如何执行此操作的建议。

标签: pythonarraysdictionarymultidimensional-arrayflatten

解决方案


字典中不能有重复的键。您可以将其转换为带有嵌套循环的键值对象的平面列表:

result = []
for key, l in my_dict.items():
    for obj in l:
        result.append({"key": key, "value": obj})

结果将如下所示:

[{"key": "first_key", "value": {}},
 {"key": "first_key", "value": {}},
 {"key": "second_key", "value": {}},
 ...
]

推荐阅读