The below code just works fine for my simple case, but is there any generic and pythonic way?
In [1]: def safe_get(d, *args):
...: n = len(args)
...: if n == 1:
...: return d.get(args[0], '')
...: if n == 2:
...: return d.get(args[0], {}).get(args[1], '')
...: if n == 3:
...: return d.get(args[0], {}).get(args[1], {}).get(args[2], '')
...:
In [2]: d = {
...: 'name': {
...: 'title': 'Name',
...: 'value': 'Me',
...: 'meta': {'sal': 'Mr.', 'gender': 'm'}
...: }
...: }
In [3]: safe_get(d, 'name', 'value')
Out[3]: 'Me'
P.S.: I am a pharmacist, not a programmer.