python - 以相反顺序迭代列表并创建动态字典

标签 python list dictionary

我正在尝试创建一个大字典,它封装了键列表中的字典: 我有以下列表:

lis = ['model', 'properties', 'config', 'properties', 'zookeeperStorageSize', 'default']

我可以以相反的顺序迭代这个列表,但我无法创建这个大对象

这里是我想要的输出:

  {'model': {'properties': {'config': {'properties': {'zookeeperStorageSize': {'default': '50m'}}}}}} 

有线索吗?

最佳答案

这是我的解决方案:

def listtodict(mylist, final_value):
    if len(mylist) == 1:
        return {mylist[0]:final_value}
    else:
        return {mylist[0]:listtodict(mylist[1:], final_value)}

mylist = ['model', 'properties', 'config', 'properties', 'zookeeperStorageSize', 'default']
print(listtodict(mylist, "50m"))

打印:

{'model': {'properties': {'config': {'properties': {'zookeeperStorageSize': {'default': '50m'}}}}}}

关于python - 以相反顺序迭代列表并创建动态字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50486492/

相关文章:

C:在列表上使用哨兵

java - 如何在 Java 中存储(和读取)大型数组/映射/其他内容?

python - 根据包含的字典键替换 Pandas DataFrame 列值

python - 如何在没有微秒的情况下在django中添加DateTimeField

python - 如何解决django中与预取相关的N+1问题?

python - 每组随机样本,有 min_rows

python - 使用 PRAW 在 Python 中从 Reddit API 解码 JSON

c# - 对 ObservableCollection 进行排序时出现 InvalidOperationException

python - 如何在不复制对象的情况下将 var 添加到 Python 列表中?

python - 使用 python 列表理解来更新字典值