def repseq(seq, pre_process = lambda x: x):
    """ Generates a unicode string from the items in seq delimited by commas.
        For example repseq([1, 2, 3]) produces "1, 2, 3". Arguments:
        seq: a sequence of items.
        pre_process: a function taking one argument and returning another. The
            function will execute this on each item in seq before concatenating
            them together. By default, nothing is done to each argument.
    """
    SPACECOMMA = ", ";
    if len(seq) == 0:
        return "";
    str_out = ''.join([(str(pre_process(item)) + SPACECOMMA) 
        for item in seq[:-1]]) + str(pre_process(seq[-1]));
    return str_out;