如何将来自for循环的值更新为嵌套dict?

时间:2019-07-01 18:24:57

标签: python

我正在尝试创建一个嵌套字典,键是从for循环中获取的。 我有类似的东西

A/B/val1
A/B/val2
A/C/val3

我尝试使用更新功能,但它用val2更新val1。 我得到这样的东西

arr = ['A/B/val1','A/B/val2','A/C/val3']

mydict = {'A':{}}

for i in arr:
    t = i.split('/')
    mydict['A'].update({t[1]:{}})
    mydict['A'][t[1]].update({t[2]:0})

print(mydict)

输出:

{'A': {'B': {'val2': 0}, 'C': {'val3': 0}}}

我想要的是由val1和val2组成的B的字典

{'A':{'B':{'val1':0,'val2':0},'C':{'val3':0}}}

1 个答案:

答案 0 :(得分:0)

您需要遍历最“外”字典中的键,但是在这里您可以看到如何更新字典:

x = {'A':{'B':{'val2':0}}}
y = {'A':{'B':{'val1':0}}}
x["A"]["B"].update(y["A"]["B"])