From 01e20718e774fa6416ea26aed9d2a7b96560ce2b Mon Sep 17 00:00:00 2001 From: Jeremy Howard Date: Fri, 27 Sep 2024 14:45:44 +1000 Subject: [PATCH] fixes #630 --- fastcore/xtras.py | 4 ++-- nbs/03_xtras.ipynb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fastcore/xtras.py b/fastcore/xtras.py index 285d92d8..cfadcda7 100644 --- a/fastcore/xtras.py +++ b/fastcore/xtras.py @@ -287,9 +287,9 @@ def _expand_import(node, mod, existing): # %% ../nbs/03_xtras.ipynb def dict2obj(d, list_func=L, dict_func=AttrDict): "Convert (possibly nested) dicts (or lists of dicts) to `AttrDict`" - if isinstance(d, (L,list)): return list_func(d).map(dict2obj) + if isinstance(d, (L,list)): return list_func(map(dict2obj, d)) if not isinstance(d, dict): return d - return dict_func(**{k:dict2obj(v) for k,v in d.items()}) + return dict_func(**{k:dict2obj(v, list_func=list_func, dict_func=dict_func) for k,v in d.items()}) # %% ../nbs/03_xtras.ipynb def obj2dict(d): diff --git a/nbs/03_xtras.ipynb b/nbs/03_xtras.ipynb index bf6eaab7..54ab49fd 100644 --- a/nbs/03_xtras.ipynb +++ b/nbs/03_xtras.ipynb @@ -687,7 +687,7 @@ { "data": { "text/plain": [ - "'pip 24.0 from /Users/daniel.roy.greenfeld/.virtualenvs/fastcore/lib/python3.10/site-packages/pip (python 3.10)'" + "'pip 23.3.1 from /Users/jhoward/miniconda3/lib/python3.11/site-packages/pip (python 3.11)'" ] }, "execution_count": null, @@ -948,9 +948,9 @@ "#|export\n", "def dict2obj(d, list_func=L, dict_func=AttrDict):\n", " \"Convert (possibly nested) dicts (or lists of dicts) to `AttrDict`\"\n", - " if isinstance(d, (L,list)): return list_func(d).map(dict2obj)\n", + " if isinstance(d, (L,list)): return list_func(map(dict2obj, d))\n", " if not isinstance(d, dict): return d\n", - " return dict_func(**{k:dict2obj(v) for k,v in d.items()})" + " return dict_func(**{k:dict2obj(v, list_func=list_func, dict_func=dict_func) for k,v in d.items()})" ] }, {