一个非常常见的模式是使用空dict作为默认值:
d.get('foo', {}).get('bar')如果您有多个键,则可以使用
reduce(请注意,在Python 3中
reduce必须导入:)
from functools importreduce以多次应用该操作
reduce(lambda c, k: c.get(k, {}), ['foo', 'bar'], d)当然,您应该考虑将其包装到一个函数(或方法)中:
def recursive_get(d, *keys): return reduce(lambda c, k: c.get(k, {}), keys, d)


