如何在Python中创建动态嵌套字典

2024-05-08 04:51:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我的名单如下:

list_name=["node1","node2","node3",...,"nodeN"]

我有一本字典如下:

dictionary_name:{
  "node1":{
    "node2":true}
   }
}

我想将node2设置为等于以下值:

 "node2"={"node3":{"node4":{...."nodeN"=true}...}}}

我已经有一段时间没有成功地陷入循环中了

有人有什么建议吗

提前谢谢


Tags: nametruedictionary字典建议list名单node1
2条回答
from functools import reduce

list_name=["node1","node2","node3","nodeN"]
print(reduce(lambda k, v: {v: k}, reversed(list_name), True))

输出:

{'node1': {'node2': {'node3': {'nodeN': True}}}}
root = d = {'node1': {'node2': True}}
n = 10
keys = ["node{}".format(i) for i in range(1, n+1)]
for k in keys[:-1]:
    # Overwrite the True with a dictionary or create a dictionary,
    # not sure the point of the True values in this problem.
    if k not in d or not isinstance(d[k], dict):
        d[k] = {}
    # Recurse into the nested dictionary
    d = d[k]
# Set the final key to True.
d[keys[-1]] = True
print(root)

相关问题 更多 >