Skip to content

Instantly share code, notes, and snippets.

@saulovenancio
Forked from douglasmiranda/gist:5127251
Last active August 29, 2015 14:14
Show Gist options
  • Save saulovenancio/d8357099e26c4ecdd561 to your computer and use it in GitHub Desktop.
Save saulovenancio/d8357099e26c4ecdd561 to your computer and use it in GitHub Desktop.
def find(key, dictionary):
for k, v in dictionary.iteritems():
if k == key:
yield v
elif isinstance(v, dict):
for result in find(key, v):
yield result
elif isinstance(v, list):
for d in v:
for result in find(key, d):
yield result
example = {'app_url': '', 'models': [{'perms': {'add': True, 'change': True, 'delete': True}, 'add_url': '/admin/cms/news/add/', 'admin_url': '/admin/cms/news/', 'name': ''}], 'has_module_perms': True, 'name': u'CMS'}
list(find('admin_url', example))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment