Hi Joshua
Sounds to me that you want a solution soon, rather than in a future version
of Python. Perhaps this works for you.
def prune_nones(d):
for k, v in list(d.items()):
if v is None:
del d[k]
if type(v) is dict:
prune_nones(v)
>>> d = dict(a=1, b=2, c=None)
>>> prune_nones(d)
{'a': 1, 'b': 2}
>>> d = dict(a=1, b=2, c=None, d=dict(e=None, f=3))
>>> prune_nones(d)
{'a': 1, 'b': 2, 'd': {'f': 3}}
I hope this helps. By the way, the list(d.items()) in the loop is to avoid
RuntimeError: dictionary changed size during iteration
--
Jonathan
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/