Generate a unique name (str type) by appending a sequence number to
    the original name so that it is not contained in the collection.
    ``collection`` has a __contains__ method (tuple, list, dict, etc.)

def get_unique_name(name='', collection=()):
    '''
    Generate a unique name (str type) by appending a sequence number to
    the original name so that it is not contained in the collection.
    ``collection`` has a __contains__ method (tuple, list, dict, etc.)
    '''
    if name not in collection:
        return name
    i = 1
    while True:
        i += 1
        name2 = '%s_%s' % (name, i)
        if name2 not in collection:
            return name2