def mediumcopy(value):
    return {key: list(val) for key, val in list(value.items())}
z = {'a': [[1], [2]]}
zcopy = mediumcopy(z)
Is there such a thing as a "medium"-copy? Or: how to finely control "depth" of copy?