code: def fuzzy_index_match(possiblities, label, **kwargs):
      
      possibilities = list(possiblities)
      if isinstance(label, basestring):
          return fuzzy_get(possibilities, label, **kwargs)
      if isinstance(label, int):
          return possibilities[label]
      if isinstance(label, list):
          return [fuzzy_get(possibilities, lbl) for lbl in label]
docs: Find the closest matching column label, key, or integer indexed value
  
      Returns:
        type(label): sequence of immutable objects corresponding to best matches to each object in label
                if label is an int returns the object (value) in the list of possibilities at that index
                if label is a str returns the closest str match in possibilities
  
      >>> from collections import OrderedDict as odict
      >>> fuzzy_index_match(pd.DataFrame(pd.np.random.randn(9,4), columns=list('ABCD'), index=range(9)), 'b')
      'B'
      >>> fuzzy_index_match(odict(zip('12345','ABCDE')), 'r2d2')
      '2'
      >>> fuzzy_index_match(odict(zip('12345','ABCDE')), 1)
      '2'
      >>> fuzzy_index_match(odict(zip('12345','ABCDE')), -1)
      '5'
      >>> fuzzy_index_match(odict(zip(range(4),'FOUR')), -4)
      0