def list_to_string(lst, det, det_type="a"):
    """ Convert a list to a natural language string. """
    string = ""
    if len(lst) == 1:
        return "{}{}".format(det_type + " " if det else "", lst[0])

    for i in range(len(lst)):
        if i >= (len(lst) - 1):
            string = "{} and {}{}".format(string[:-2], "{} ".format(det_type) if det else "", lst[i])
        else:
            string += "{}{}, ".format("{} ".format(det_type) if det else "", lst[i])
    return string