Вы можете использовать рекурсию:
maplist = ["b", "v", "y"]
dataDict = {'a': {'s': 2, 'r': 1, 't': 3}, 'b': {'u': 1, 'w': 3, 'v': {'y': 2, 'x': 1, 'z': 3}}}
def remove_keys(d):
return {a:remove_keys(b) if isinstance(b, dict) else b for a, b in d.items() if a not in maplist}
final_result = remove_keys(dataDict)
Выход:
{'a': {'s': 2, 'r': 1, 't': 3}}