Retrieve item deep in dict tree?

Yimr Zero yimr00 at gmail.com
Thu Apr 3 12:46:38 EDT 2014


Here is a tricky method :

reduce(lambda x,y:x[str(y)],keys,tree)



---------- Forwarded message ----------
From: Roy Smith <roy at panix.com>
To: Python List <python-list at python.org>
Cc:
Date: Wed, 2 Apr 2014 13:58:16 -0400
Subject: Retrieve item deep in dict tree?
I have a big hairy data structure which is a tree of nested dicts.  I have
a sequence of strings which represents a path through the tree.  Different
leaves in the tree will be at different depths (which range from 1 to about
4 or 5 at most).  I want to get the value stored at that path.  Thus, if

keys = ['foo', 'bar', 'baz']

I want to retrieve tree['foo']['bar']['baz'].

Is there some idiomatic, non-cryptic way to write that as a one-liner?

I'm using Python 2.7.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140404/1704f3ff/attachment.html>


More information about the Python-list mailing list