繁体   English   中英

将列表和多个字典组合到嵌套字典 - python

[英]Combining a list and multiple dictionaries to nested dictionary - 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}

Output:

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

到目前为止,我尝试 zip 列表和字典,但这会创建另一个字典,而不是嵌套字典。

ld = dict(zip(l,d))

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

是的,您需要先创建 d 列表

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM