def list_to_str(lst):
    """Turn a list into a comma- and/or and-separated string.

    Parameters
    ----------
    lst : :obj:`list`
        A list of strings to join into a single string.

    Returns
    -------
    str_ : :obj:`str`
        A string with commas and/or ands separating the elements from ``lst``.

    """
    if len(lst) == 1:
        str_ = lst[0]
    elif len(lst) == 2:
        str_ = " and ".join(lst)
    elif len(lst) > 2:
        str_ = ", ".join(lst[:-1])
        str_ += ", and {0}".format(lst[-1])
    else:
        raise ValueError("List of length 0 provided.")
    return str_