Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save onyekaa/e25903944eefbf973fd80362716921bb to your computer and use it in GitHub Desktop.
Save onyekaa/e25903944eefbf973fd80362716921bb 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