code: def _extract_from_object(self, selector):
          
          if isinstance(selector, slice):
              # we must expand the slice manually, in order to be able to apply to
              # for example, to mapping types, or general objects
              # (e.g. slice `4::2` will filter all even numerical keys/attrs >=4)
              start = selector.start or 0
              step = selector.step or 1
              if selector.stop is None:
                  if hasattr(self.obj, "keys"):
                      # filter keys by slice
                      keys = \
                          [k for k in self.obj.keys() if isinstance(k, baseinteger) \
                              and k >= start and (k - start) % step == 0]
                  elif hasattr(self.obj, "__len__"):
                      # object we slice should have a length (__len__ method),
                      keys = xrange(start, len(self.obj), step)
                  else:
                      # otherwise, we don't know how to slice, so just skip it,
                      # instead of failing
                      keys = []
              else:
                  keys = xrange(start, selector.stop, step)
  
          else:
              keys = [selector]
          
          res = []
          for key in keys:
              self._append(self.obj, key, res)
          return res
docs: Extracts all values from `self.obj` object addressed with a `selector`.
          Selector can be a ``slice``, or a singular value extractor in form of a
          valid dictionary key (hashable object).
          
          Object (operated on) can be anything with an itemgetter or attrgetter,
          including, but limited to `dict`, and `list`.
          Itemgetter is preferred over attrgetter, except when called as `.key`.
          
          If `selector` is a singular value extractor (like a string, integer,
          etc), a single value (for a given key) is returned if key exists, an
          empty list if not.
          
          If `selector` is a ``slice``, each key from that range is extracted;
          failing-back, again, to an empty list.