Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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_Matrix - Fatal编程技术网

Python 旋转由一维阵列构建的矩阵

Python 旋转由一维阵列构建的矩阵,python,matrix,Python,Matrix,您好,我有一个排序列表,['a'、'b'、'c'、'd'、'e'、'f']当前显示在前端作为矩阵 ['a','c','e'], [b,'d','f'], 应该是什么时候 ['a','b','c'], [d,'e','f'], 不幸的是,我无法修改前端以水平显示对象,因此我希望能够以正确的顺序将1d数组重新排列为另一个1d数组['a'、'd'、'b'、'e'、'c',f'] 从概念上讲,我知道如何将一维数组转换为二维数组,然后旋转矩阵,然后将二维数组转换回一维数组。然而,我想知道是否有一种更具

您好,我有一个排序列表,
['a'、'b'、'c'、'd'、'e'、'f']
当前显示在前端作为矩阵

['a','c','e'],
[b,'d','f'],
应该是什么时候

['a','b','c'],
[d,'e','f'],

不幸的是,我无法修改前端以水平显示对象,因此我希望能够以正确的顺序将1d数组重新排列为另一个1d数组
['a'、'd'、'b'、'e'、'c',f']

从概念上讲,我知道如何将一维数组转换为二维数组,然后旋转矩阵,然后将二维数组转换回一维数组。然而,我想知道是否有一种更具python风格的方法/更快的通用算法来实现这一点。

用切片跨越它:

>>> L = ['a','b','c','d','e','f']
>>> [*L[0::3], *L[1::3], *L[2::3]]
['a', 'd', 'b', 'e', 'c', 'f']
如果需要将其推广到任意维度,请考虑使用numpy:

>>> np.array(L).reshape(2,3).T.ravel().tolist()
['a', 'd', 'b', 'e', 'c', 'f']
用切片跨越它:

>>> L = ['a','b','c','d','e','f']
>>> [*L[0::3], *L[1::3], *L[2::3]]
['a', 'd', 'b', 'e', 'c', 'f']
如果需要将其推广到任意维度,请考虑使用numpy:

>>> np.array(L).reshape(2,3).T.ravel().tolist()
['a', 'd', 'b', 'e', 'c', 'f']
使用
numpy
考虑到您正在谈论的GUI和GUI的大小往往会发生变化,我认为最有效的方法是使用
numpy
来实现您自己的建议:

a = np.array(['a','b','c','d','e','f'])
n = len(a)
a.reshape(2, int(n)/2).T.reshape(1,n)
输出为:

array([['a', 'd', 'b', 'e', 'c', 'f']], dtype='<U1')
使用Numpy,进行来回转换 使用Numpy,不进行转换 使用带列表理解的切片 结论 似乎对于恒定的大小,最好是使用切片,然后在事先不知道大小的情况下使用列表理解进行切片。

with
numpy
考虑到您正在谈论的GUI和GUI的大小往往会发生变化,我认为最有效的方法是使用
numpy
来实现您自己的建议:

a = np.array(['a','b','c','d','e','f'])
n = len(a)
a.reshape(2, int(n)/2).T.reshape(1,n)
输出为:

array([['a', 'd', 'b', 'e', 'c', 'f']], dtype='<U1')
使用Numpy,进行来回转换 使用Numpy,不进行转换 使用带列表理解的切片 结论
似乎对于恒定的大小,最好是使用切片,然后在事先不知道大小的情况下使用列表理解进行切片。

我不清楚数据结构。您使用的支持数组和矩阵的软件包是什么?给我们一些简单的设置代码来说明发生了什么。我不清楚数据结构。您使用的支持数组和矩阵的软件包是什么?给我们一些简单的设置代码来说明发生了什么。你知道我如何解释
a=np.array(['a','b','c','d','e')的情况吗?
。有没有什么方法可以填充空的临时值,这样就可以调整大小?添加空字符串的填充是可行的?比如,
如果len(a)%2=0:a.append(“”)
?你知道我如何解释
a=np.array(['a','b','c','d','e'])的情况吗
。有没有什么方法可以填充空的临时值,这样就可以调整大小?添加空字符串的填充是可行的?比如,
如果len(a)%2=0:a.append(“”)