I would like to iterate through a dict whose values are a mixture of lists, unicode strings, dicts, bools, and ints to produce a one-dimensional dict that has all key-value pairs. I don't care to preserve keys whose associated values are dicts.
I tried a recursive function but I am missing some steps. Perhaps I need to use .update()
or +=
somewhere?
def unravel(data):
resultsdict = {}
for k in data:
if isinstance(data[k],dict):
unravel(data[k])
else:
resultsdict[k] = data[k]
Example of my top-level dict's values:
<type 'list'>
<type 'bool'>
<type 'dict'>
<type 'unicode'>
<type 'bool'>
<type 'unicode'>
<type 'dict'>
<type 'int'>
<type 'unicode'>