Any Functional Programming method of traversing a nested dictionary?
dictionary, functional-programming, python
Solution
Use `reduce()`:
reduce(dict.__getitem__, l, d)
or better still, using `operator.getitem()`:
from operator import getitem
reduce(getitem, l, d)
Demo:
>>> d = {"a": {"b": {"c": 4}}}
>>> l = ["a", "b", "c"]
>>> from operator import getitem
>>> reduce(getitem, l, d)
4
Python 3 moved the `reduce()` function out of the built-ins and into `functools.reduce()`.
Problem
I am trying to find a better way to implement this: ``` d = {"a": {"b": {"c": 4}}} l = ["a", "b", "c"] for x in l: d = d[x] print (d) # 4 ``` I am learning functional programming so I am just trying random example that come to my head :)