Python 将数组的列向左移动
我的目标是将数组Python 将数组的列向左移动,python,arrays,Python,Arrays,我的目标是将数组Bk位置的列向左移动。假设B的形状为(n,n)。当然,从n到n-k的列必须替换为一些新条目。但这在这里并不重要。工作原理如下: 范围(n)内的i的: 对于范围内的j(n-k): B[i][j]=B[i][j+k] 我想知道是否有一种更快更简单的方法。如果您按列的主要顺序使用矩阵(即使用i作为列索引),则需要的副本将少得多 for j in range(n-k): B[i] = B[i+k] 在这种情况下,仅复制对列的引用您可以使用下标: B = B[k:] + newV
B
k
位置的列向左移动。假设B
的形状为(n,n)
。当然,从n
到n-k
的列必须替换为一些新条目。但这在这里并不重要。工作原理如下:
范围(n)内的i的:
对于范围内的j(n-k):
B[i][j]=B[i][j+k]
我想知道是否有一种更快更简单的方法。如果您按列的主要顺序使用矩阵(即使用
i
作为列索引),则需要的副本将少得多
for j in range(n-k):
B[i] = B[i+k]
在这种情况下,仅复制对列的引用您可以使用下标:
B = B[k:] + newValues
或者,如果要保持阵列大小并在之后操纵原始位置,请执行以下操作:
B[:k] = B[k:2*k]
注意,在最后一种方法中,必须有2k