dct = {'global': {'bar': {'bar1': {'bar2': {}}, 'b': 1, 'zoo': {}}}}
answers = []
# open dictionary that contains 'arg' among key
def get_d(d, arg):
for key in d:
if key == arg:
return d
elif isinstance(d[key], dict) and d[key] != {}:
answers.append(get_d(d[key], arg))
get_d(dct, 'zoo')
print(answers) # [None, {'bar1': {'bar2': {}}, 'b': 1, 'zoo': {}}, None]
But I want the function to return only that dict, without using a list.
# If you change 'answers.append(get_d(d[key], arg))'
# on 'return get_d(d[key], arg)' result of call would be None
The answer I expect is:
# {'bar1': {'bar2': {}}, 'b': 1, 'zoo': {}}