以下是一个按列对2D向量进行随机重排的示例代码:
import random
def randomize_2d_vector(vector):
    # 获取向量的行数和列数
    rows = len(vector)
    if rows == 0:
        return vector
    cols = len(vector[0])
    # 创建一个新的二维向量,初始值为None
    randomized_vector = [[None] * cols for _ in range(rows)]
    # 随机重排列向量的每一列
    for col in range(cols):
        # 生成一个包含0到rows-1的随机排列
        indices = random.sample(range(rows), rows)
        for row in range(rows):
            # 将原始向量中的值按照随机排列的索引复制到新的向量中
            randomized_vector[row][col] = vector[indices[row]][col]
    return randomized_vector
# 测试代码
vector = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
randomized_vector = randomize_2d_vector(vector)
print(randomized_vector)
该代码首先获取2D向量的行数和列数,并创建一个新的二维向量,初始值为None。然后,对向量的每一列进行随机重排列。具体步骤是,对于每一列,生成一个包含0到rows-1的随机排列,然后将原始向量中的值按照随机排列的索引复制到新的向量中。最后返回新的随机重排列后的二维向量。