class_docstr: Basic interface class to split lists into multiple outputs
  
  Examples
  --------
  
  >>> from nipype.interfaces.utility import Split
  >>> sp = Split()
  >>> _ = sp.inputs.trait_set(inlist=[1, 2, 3], splits=[2, 1])
  >>> out = sp.run()
  >>> out.outputs.out1
  [1, 2]
class_docstr_tok: ["Basic","interface","class","to","split","lists","into","multiple","outputs","Examples","--","--","--","--",">",">",">","from","nipype.interfaces.utility","import","Split",">",">",">","sp","=","Split","(",")",">",">",">","_","=","sp.inputs.trait_set","(","inlist=","[","1",",","2",",","3","]",",","splits=","[","2",",","1","]",")",">",">",">","out","=","sp.run","(",")",">",">",">","out.outputs.out1","[","1",",","2","]"]
code: def _add_output_traits(self, base):
      undefined_traits = {}
      for i in range(len(self.inputs.splits)):
          key = "out%d" % (i + 1)
          base.add_trait(key, traits.Any)
          undefined_traits[key] = Undefined
      base.trait_set(trait_change_notify=False, **undefined_traits)
      return base
  
imports: import os
  import re
  import numpy
  from ..base import traits, TraitedSpec, DynamicTraitedSpec, File, Undefined, isdefined, OutputMultiPath, InputMultiPath, BaseInterface, BaseInterfaceInputSpec, Str, SimpleInterface
  from ..io import IOBase, add_traits
  from ...utils.filemanip import ensure_list, copyfile, split_filename
label_desc: Use image node_id 1 for calling the Split obj's underlying member method code with example usage: obj._add_output_traits(base) and returns: base