Вот что я придумал.
def sanitize(obj):
if isinstance(obj, str):
return obj.replace('\u0000', '')
if isinstance(obj, list):
return [sanitize(item) for item in obj]
if isinstance(obj, tuple):
return tuple([sanitize(item) for item in obj])
if isinstance(obj, dict):
return {k:sanitize(v) for k,v in obj.items()}
return obj
Есть ли более элегантное решение, которое мне здесь не хватает?