我正在做作业,需要20个形状(m,n),名称为a_0
,a_1
,a_2
,...,{{1} }。首先,它们都可以用零填充。如何使用for?
正在a_19
我可以自己创建它们,就像:
Python
...
a_0 = np.zeros((m,n))
但是如果我需要1000个矩阵怎么办?
答案 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) )