def expand_window(data, window_set=1):
    """
    :param data: the original list
    :param window_set: int or list of int
    :return: a list of lists shifted by the bias which is specified by window_set
    """
    if isinstance(window_set, int):
        window_set = [window_set]
    window_list = []
    for bias in window_set:
        if bias > 0:
            tmp = [data[0]] * bias + data[:-bias]
        elif bias < 0:
            tmp = data[-bias:] + [data[-1]] * -bias
        else:
            tmp = data
        window_list.append(tmp)
    return window_list