Skip to content

Instantly share code, notes, and snippets.

@mrgriscom
Created November 18, 2014 15:12
Show Gist options
  • Save mrgriscom/37986cb229023aad8e05 to your computer and use it in GitHub Desktop.
Save mrgriscom/37986cb229023aad8e05 to your computer and use it in GitHub Desktop.
flatten a nested dict
def dict_flatten(d, delim='.', prefix=[]):
def pairs(d, prefix):
def flatten(k, v):
if isinstance(v, dict):
return pairs(v, k)
else:
return [(k, v)]
for k, v in d.iteritems():
for e in flatten(prefix + [k], v):
yield e
return dict((delim.join(k), v) for k, v in pairs(d, prefix))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment