def transpose_list(x, num_cols):
    """
    re-order a list from row-scan to column-scan, where k is the number of columns
    :param x:
    :param k:
    :return:
    """
    num_elems = len(x)
    num_rows = num_elems // num_cols
    outputs = []
    for i in range(num_cols):
        for j in range(num_rows):
            outputs.append(x[j * num_cols + i])
    return outputs