def _translate_space(self, space):
        """
        Translates a list of dictionaries into internal list of variables
        """
        self.space = []
        self.dimensionality = 0
        self.has_types = d = {t: False for t in self.supported_types}

        for i, d in enumerate(space):
            descriptor = deepcopy(d)
            descriptor['name'] = descriptor.get('name', 'var_' + str(i))
            descriptor['type'] = descriptor.get('type', 'continuous')
            if 'domain' not in descriptor:
                raise InvalidConfigError('Domain attribute is missing for variable ' + descriptor['name'])
            variable = create_variable(descriptor)
            self.space.append(variable)
            self.dimensionality += variable.dimensionality
            self.has_types[variable.type] = True

        # Check if there are any bandit and non-bandit variables together in the space
        if any(v.is_bandit() for v in self.space) and any(not v.is_bandit() for v in self.space):
            raise InvalidConfigError('Invalid mixed domain configuration. Bandit variables cannot be mixed with other types.')
Translates a list of dictionaries into internal list of variables