fork(1) download
  1. import collections
  2.  
  3. some_dict = {
  4. 'default': {
  5. 'heading': 'Here’s A Title',
  6. 'learn_more': {
  7. 'title': 'Title of Thing',
  8. 'url': 'www.url.com',
  9. 'description': 'description',
  10. 'opens_new_window': 'true'
  11. }
  12. }
  13. }
  14.  
  15. def flatten(d, parent_key='', sep='_'):
  16. items = []
  17. for k, v in d.items():
  18. new_key = parent_key + sep + k if parent_key else k
  19. if isinstance(v, collections.MutableMapping):
  20. items.extend(flatten(v, new_key, sep=sep).items())
  21. else:
  22. items.append((new_key, v))
  23. return dict(items)
  24.  
  25. results = flatten(some_dict, parent_key='', sep='.')
  26. for item in results:
  27. print(item + ': ' + results[item])
Success #stdin #stdout 0.02s 10192KB
stdin
Standard input is empty
stdout
default.learn_more.title: Title of Thing
default.learn_more.opens_new_window: true
default.learn_more.url: www.url.com
default.heading: Here’s A Title
default.learn_more.description: description