我正在尝试在字典中执行多个查找,其中一些可能是对子字典 ( d['a'], d['b']['c']['d']['e']
) 的查找。我想KeyError
在查找过程中的任何时候返回一个默认值,无论是在第一个字典还是第 n 个字典上。最终目标是将返回值放入一个新的扁平字典中。
有没有比我目前更简单的方法:
e = {}
try:
e['a'] = d['a']
except KeyError:
e['a'] = 0
try:
e['d'] = d['b']['c']['d']
except KeyError:
e['d'] = 0
...and so on
我已经考虑了一些问题并考虑使用.get()
或使用defaultdict()
或使用某种递归,但无法提出任何解决方案。在此先感谢您的帮助!