class_docstr: A generic container for immutable data that can be accessed either by
  numeric index or by key. This is similar to an
  :class:`collections.OrderedDict` except that the keys are optional and
  iteration over it returns the values instead of keys.
  
  This is the base class for both :class:`.Column` and :class:`.Row`.
  
  :param values:
      A sequence of values.
  :param keys:
      A sequence of keys.
docstr: Retrieve values from this array by index, slice or key.
docstr_tok: ["Retrieve","values","from","this","array","by","index",",","slice","or","key","."]
code: def __getitem__(self, key):
      """
      Retrieve values from this array by index, slice or key.
      """
      if isinstance(key, slice):
          indices = range(*key.indices(len(self)))
          values = self.values()
          return tuple(values[i] for i in indices)
      # Note: can't use isinstance because bool is a subclass of int
      elif type(key) is int:
          return self.values()[key]
      return self.dict()[key]
  
imports: from collections import OrderedDict
  from collections.abc import Sequence
  from agate.utils import memoize
label_desc: Use image node_id 7 for calling the MappedSequence obj's underlying member method code with example usage: obj.__getitem__(key) and returns: self, tuple, self