spekk.trees.core.remove

Contents

spekk.trees.core.remove#

spekk.trees.core.remove(tree: Mapping[Any, Mapping[Any, Tree] | Sequence[Tree] | Any] | Sequence[Mapping[Any, Tree] | Sequence[Tree] | Any] | Any, path: tuple)[source]#

Remove the value of the subtree at the given path.

>>> tree = {"a": [1, {"b": 2}, 3], "c": 4, "d": 5}
>>> remove(tree, ("a", 1, "b"))
{'a': [1, {}, 3], 'c': 4, 'd': 5}
>>> remove(tree, ("a", 1))
{'a': [1, 3], 'c': 4, 'd': 5}
>>> remove(tree, ("c",))
{'a': [1, {'b': 2}, 3], 'd': 5}