def intercalate(elems, list_):
    """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_``
    """
    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])
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 ] )
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_``