<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def del_variables(self, variables):
 """ Deletes variables from the NoisyOrModel. Parameters variables: list, tuple, dict (array like) list of variables to be deleted. Examples -------- """

        variables = [variables] if isinstance(variables, six.string_types) else set(variables)
        indices = [index for index, variable in enumerate(self.variables) if variable in variables]
        self.variables = np.delete(self.variables, indices, 0)
        self.cardinality = np.delete(self.cardinality, indices, 0)
        self.inhibitor_probability = [prob_array for index, prob_array in enumerate(self.inhibitor_probability)
                                      if index not in indices]