Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数组的列向左移动_Python_Arrays - Fatal编程技术网

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