我需要制作11个100(N,N)矩阵的词典。我想创建一个循环函数来定义所有这些
A1={}
for x in range(1,101):
R = np.random.random((1,1))
A1["{0}".format(x)] = np.dot(R,R.transpose())/2
A2={}
for x in range(1,101):
R = np.random.random((2,2))
A2["{0}".format(x)] = np.dot(R,R.transpose())/2
A3={}
for x in range(1,101):
R = np.random.random((3,3))
A3["{0}".format(x)] = np.dot(R,R.transpose())/2
立刻。 我试着这样做,但它没有用。
for k in range(1,11):
A"%s"%k={}
for x in range(1,101):
R = np.random.random((k,k))
A"%s"%k["{0}".format(x)] = np.dot(R,R.transpose())/2
重要的是A3具有3乘3矩阵,A5有5乘5矩阵等。
答案 0 :(得分:1)
您无法动态创建变量名称。尝试类似:
containing_dict = {}
for k in range(1, 11):
key = 'A{}'.format(k)
containing_dict[key] = {}
for x in range(1, 101):
R = np.random.random((k,k))
containing_dict[key][x] = np.dot(R,R.transpose())/2