code: def __init__(
      self, variables: List[int], conditions: List[SplitCondition]
  ):
      self.variables = {
          v: CombinedVariableCondition(v, -np.inf, np.inf)
          for v in variables
      }
      self.conditions = conditions
      for condition in conditions:
          self.variables[condition.splitting_variable] = self.variables[
              condition.splitting_variable
          ].add_condition(condition)
      if len(conditions) > 0:
          self.splitting_variable = conditions[-1].splitting_variable
      else:
          self.splitting_variable = None
  
file_path: imodels/imodels/experimental/bartpy/splitcondition.py
imports: from operator import le, gt
  from typing import Callable, List, Optional, Union
  import numpy
label_desc: Use image node_id 1 to create a new CombinedCondition object from inherited base classes: object with example: obj = CombinedCondition(variables, conditions)