您可以使用循环(仅使用前三个键,
newThing而不是链中的键):
myDict = {}path = ('newEnv','newProj','newComp')current = myDictfor key in path: current = current.setdefault(key, {})在这里
current最终成为最里面的字典,让您在上面设置
'n_thing'和
'instances'键。
您可以用来
reduce()将其折叠为单线:
myDict = {}path = ('newEnv','newProj','newComp')reduce(lambda d, k: d.setdefault(k, {}), path, myDict)该
reduce调用返回最里面的字典,因此您可以使用它来分配最终值:
myDict = {}path = ('newEnv','newProj','newComp')inner = reduce(lambda d, k: d.setdefault(k, {}), path, myDict)inner.update({'n_thing': 'newThing', 'instances': []})


