code: def intercalate(elems, list_):
      
      ensure_sequence(elems)
      ensure_sequence(list_)
  
      if len(list_) <= 1:
          return list_
  
      return sum(
          (elems + list_[i:i+1] for i in xrange(1, len(list_))),
          list_[:1])
docs: Insert given elements between existing elements of a list.
  
      :param elems: List of elements to insert between elements of ``list_`
      :param list_: List to insert the elements to
  
      :return: A new list where items from ``elems`` are inserted
               between every two elements of ``list_``