def list_of_dsv(d, sep=","):
    """
    Converting a dsv (delimiter-separated values) string to the list of it's components.

    Args:
        d: A (delimiter-separated values) string
        sep: The delimiter text used to separate the string into a list of component strings

    Returns:
        A list of component strings corresponding to the input delimiter-separated values (dsv) string

    >>> list_of_dsv('a brown fox', sep=' ')
    ['a', 'brown', 'fox']
    >>> tuple(list_of_dsv('jumps/over', sep='/'))  # for filepaths
    ('jumps', 'over')
    >>> list_of_dsv('Sat,Jan,1,1983', sep=',')  # csv: the usual delimiter-separated values format
    ['Sat', 'Jan', '1', '1983']
    >>> list_of_dsv('First:::Last', sep=':::')  # a longer delimiter
    ['First', 'Last']
    >>> list_of_dsv('singleton', sep='@')  # when the list has only one element
    ['singleton']
    >>> list_of_dsv('', sep='@')  # when the string is empty
    []
    """
    if (
            not d
    ):  # doing this, because split returns [''] on an empty string (bad choice if you ask me!)
        return []
    else:
        return d.split(sep)