如何创建具有相同形状的n个矩阵

时间:2019-11-05 09:12:09

标签: python numpy matrix

我正在做作业,需要20个形状(m,n),名称为a_0a_1a_2,...,{{1} }。首先,它们都可以用零填充。如何使用for? 正在a_19

上工作

我可以自己创建它们,就像:

Python

...

a_0 = np.zeros((m,n))

但是如果我需要1000个矩阵怎么办?

3 个答案:

答案 0 :(得分:0)

这是列表派上用场的地方,因为您不需要为每个变量指定特定的名称,而只是访问它们的一种方式。对于列表,您可以按从0开始的索引(编号)访问这些项目。

例如你可以这样写:

a = []
for i in range(1000):
    a.append(np.zeros((m,n))

然后,您以后可以使用列表中的索引访问它们,例如a[0]代表第一个矩阵,a[241]代表第242号矩阵。

或者,您也可以制作一个尺寸更大的numpy数组:

a = np.zeros((1000,m,n))

以同样的方式,a[0]将成为第一个矩阵。

答案 1 :(得分:-1)

您当前正在使用numpy数组(numpy也具有矩阵类型),因此我假设您需要数组。

要创建可以使用名称检索的任意数量的数组,我将使用python字典。

import numpy as np

N = 1000
m = 10
n = 10

arrays = {'a_%d' % i: np.zeros((m, n)) for i in range(N)}

答案 2 :(得分:-1)

import numpy as np
N = 10
m, n = 10, 20
for i in range(N):
     exec( "a_%d = np.zeros((%d,%d))" % (i,m,n) )