将一个列表和多个字典组合到嵌套的python中



我想从一个列表中创建一个嵌套字典,该列表应该是该嵌套字典的键和值字典。

输入:

l = [key1, key2, key3]
d1 = {string11:value11, string12:value12, string13:value13}
d2 = {string21:value21, string22:value22, string23:value23}
d3 = {string31:value31, string32:value32, string33:value33}

输出:

{key1 : {string11:value11, string12:value12, string13:value13}, key2 : {string21:value21, string22:value22, string23:value23}, key3 : {string31:value31, string32:value32, string33:value33}}

到目前为止,我试图压缩列表和dict,但这创建了另一个dict,而不是嵌套的dict

ld = dict(zip(l,d))

我需要先创建一个d1、d2、d3的列表吗?那么我如何将l和dicts列表结合起来呢?

是的,您需要创建d个第一个的列表

dict(zip(l, [d1, d2, d3]))

当您将字典作为迭代器传入时,它的值将被迭代(键将不包括在内(。因此,dict(zip(l, d1))将生成单个字典而不是嵌套字典。

有很多方法。例如,你可以使用dict理解:

ld = {k: d for k, d in zip(l, [d1, d2, d3])}

最新更新