def recursive_dict_removal(inventory, purge_list):
    for key, value in inventory.iteritems():
        if isinstance(value, dict):
            for _key, _value in value.iteritems():
                if isinstance(_value, dict):
                    for item in purge_list:
                        if item in _value:
                            del(_value[item])
                elif isinstance(_value, list):
                    recursive_list_removal(_value, purge_list)
        elif isinstance(value, list):
            recursive_list_removal(value, purge_list)
f(x,y) = (x-3)^2 + xy + (y+4)^2 - 3
dataset/ETHPy150Open openstack/openstack-ansible/scripts/inventory-manage.py/recursive_dict_removal--crossover with--dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.main/src/openmdao/main/test/test_system.py/Paraboloid.execute