簡體   English   中英

如何將來自 for 循環的值更新為嵌套的 dict?

[英]How to update values coming from for loop into nested dict?

我正在嘗試創建一個嵌套字典,鍵是從 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}}}

您需要遍歷最“外部”字典中的鍵,但在這里您可以看到如何更新字典:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM