Python 创建阵列矩阵

Python 创建阵列矩阵,python,tensorflow,Python,Tensorflow,我想用tensorflow中的数组元素创建一个矩阵 假设我想创建一个大小为(2,2*N)(在tensorflow中)的矩阵,其中N是我拥有的一些数组的大小,比如 a=[1,2,3,..N], b=2*[1,2,3,..N], c=3*[1,2,3,..N], d=4*[1,2,3,..N] 我想创建一个矩阵M,这样M=[[a,b],[c,d]]就可以通过一个for循环在矩阵中插入数组 这在tensorflow中可能吗 我试图将它显式地写为M=[[a,b],[c,d]] 这是可行的,但我想在f

我想用tensorflow中的数组元素创建一个矩阵

假设我想创建一个大小为
(2,2*N)
(在tensorflow中)的矩阵,其中N是我拥有的一些数组的大小,比如

a=[1,2,3,..N],
b=2*[1,2,3,..N],
c=3*[1,2,3,..N], 
d=4*[1,2,3,..N]
我想创建一个矩阵
M
,这样
M=[[a,b],[c,d]]
就可以通过一个for循环在矩阵中插入数组

这在tensorflow中可能吗

我试图将它显式地写为
M=[[a,b],[c,d]]
这是可行的,但我想在for循环中这样做,并尝试一次插入每个数组

那么像这样的东西可以在循环中使用吗

M[0,0]=a
M[0,1]=b
M[1,0]=c
M[1,1]=d

谢谢

您可以在具有不同交错范围的输入阵列上使用
zip

data = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

print([[a, b] for a, b in zip(data[::2], data[1::2])])

>>> [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
如果希望使其更通用,还可以创建对zip的输入,并将zip迭代的输出传递给列表构造函数:

data = [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18]]

n = 3

print([list(z) for z in zip(*[data[i::n] for i in range(n)])])

>>> [[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[10, 11, 12], [13, 14, 15], [16, 17, 18]]]

为什么要在for循环中执行此操作?