2
我有Python的字典鍵保存列表:深套Python字典
['level_one', 'level_two', 'test']
這是一本字典的鍵:
mydict = {
'level_one' : {
'level_two' : {
'test' : "Hello World"
}
}
}
通常我可以設置test
鍵像這個:
mydict['level_one']['level_two']['test'] = "Hello StackOverflow"
不幸的是,這個列表/字典是即時生成的,我不知道它有多深。有沒有可能通過鍵列表更新字典鍵而不使用大括號?
我只能夠反映此功能,獲取字符串:
def deepGet(sourceDict, *keys):
return reduce(lambda d, k: d.get(k) if d else None, keys, sourceDict)
> deepGet(mydict, *['level_one', 'level_two', 'test'])
>> Hello World
不是重複。這是關於設置,而不是獲取嵌套字典。
'pop()'列表的最後一項,使用你的'deepGet'並在結果'dict'上設置彈出鍵。 –
@KlausD。聽起來像一個想法!我會試一下 :-) –