Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def recur_getter(obj,key):
- v = obj
- for k in key:
- v = v[k]
- return v
- def flat_keys_builder(obj):
- keys = []
- for k in obj.keys():
- keys.append([k])
- flag = True
- final_keys = []
- while flag:
- flag = False
- new_keys = []
- for key in keys:
- val = recur_getter(obj,key)
- if isinstance(val,list):
- for k in range(len(val)):
- new_key = key.copy()
- new_key.append(k)
- new_keys.append(new_key)
- flag = True
- continue
- if isinstance(val,dict):
- for k in val.keys():
- new_key = key.copy()
- new_key.append(k)
- new_keys.append(new_key)
- flag = True
- continue
- #else
- final_keys.append(key)
- keys = new_keys
- return final_keys
Advertisement
Add Comment
Please, Sign In to add comment