Here is a tricky method :

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



---------- Forwarded message ----------
From: Roy Smith <r...@panix.com>
To: Python List <python-list@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.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to