Sollicitatievraag bij Amazon

In python code, given a json object with nested objects, write a function that flattens all the objects to a single key value dictionary. Do not use the lib that actually performs this function. { a:{b:c,d:e} } becomes {a_b:c, a_d:e} ( not, a:"b:c,d:e" }

Antwoorden op sollicitatievragen

Anoniem

15 jul 2020

def separate(x): y={} for key,value in x.items(): for key1,value1 in value.items(): y[key+'_'+key1]=value1 return y

12

Anoniem

20 aug 2020

x = {'a':{'b':'c','d':{'e':{'f':'g'}}} } def get_key_val(arg_dict): return_dict = {} for arg_key, arg_val in arg_dict.items(): if isinstance(arg_val, dict): for in_key, in_val in arg_val.items(): for return_key, return_val in get_key_val({arg_key+'_'+in_key: in_val}).items(): return_dict[return_key] = return_val else: return_dict[arg_key] = arg_val return return_dict get_key_val(x)

3

Anoniem

17 dec 2020

def flatten_json(j): global flattened_json_table = {} def helper(i, j, s = ""): if type(j) is dict: for x, y in j.items(): helper(x, y, s + "_" + x) else: flattened_json_table.insert(s[1:], j) helper(None, j) return flattened_json_table

Anoniem

31 dec 2020

def flatten_json(input_json): def flatten_helper(d, start = '', out=dict(), sep='_'): for k, v in d.items(): if not isinstance(v, dict): out[start + k] = v else: flatten_helper(v, start + k + sep, out) return out return flatten_helper(input_json)

Anoniem

7 jun 2020

unflat_json = {'a':{'b':'c','d':'e'}} def flatten_json(y): out = {} print('Value of y:',y) def flatten(y, name =''): if type(y) is dict: for x in y: print(x) flatten(y[x], name + x + '_') else: out[name[:-1]] = y flatten(y) return out print(flatten_json(unflat_json))

Anoniem

25 nov 2020

unflattened = {"a":"b","c":{"d":"e","f":"g","h":{"i":"j","k":"l"},"m":"n"},"o":"p"} def flatten_json(j): flattened_json = {} for k,v in j.items(): if type(v) is dict: flattened_tmp = flatten_json(v) for k_1, v_1 in flattened_tmp.items(): flattened_json[k + "_" + k_1] = v_1 else: flattened_json[k] = v return(flattened_json) print(flatten_json(unflattened))

Anoniem

17 aug 2020

dict = { 'a': {'b':'c', 'd':'e'}} flattened_dict = { f'{key}_{inner_key}': inner_value for key, value in dict.items() for inner_key, inner_value in value.items() }