This gist provides a Python equivalent of Lodash's _.get()
function implemented as a lambda expression. The function safely accesses nested object properties using a dot-separated string or array path, returning a default value if the path is invalid.
get=lambda obj,path,default=None:(lambda x:default if x is None else x)((lambda p:next(((obj[int(A[0])]if A[0].isdigit()and isinstance(obj,list)else obj.get(A[0],default))if len(A)==1 else get(obj[int(A[0])]if A[0].isdigit()and isinstance(obj,list)else obj.get(A[0],{}),A[1:],default)for A in[path.split('.')if isinstance(path,str)else path]),default))(path))