有没有办法将每个迭代的值分别存储在新变量的for循环中?

时间:2019-02-01 10:15:37

标签: python

我想做的是尝试在每一行中分别为不同的p_y_given_x获得不同的sigma2_n值吗?当我使用append时,它使我得到一个数组的结果。但是我想要p_y_given_x的每个0.2单独的结果。

对我有什么提示吗?

for sigma2_n in np.arange(0.2,0.9):

    p_y_given_x= np.exp(-(y_new-alphabet[t])**2/2/sigma2_N)

结果应该是这样

p_y_given_x=[2 1 5 6 7
             5 7 8 9 0]

p_y_given_x2=[3 5 8 7
             5 4 7 0]

p_y_given_x3=[1 4 9 6
             5 3 4 5]

...... 对于sigma2_N的每个值,它获取p_y_given_x的值,但是我想用另一个名称来获取此新值,例如:

p_y_given_x1
p_y_given_x2
p_y_given_x3
for循环有什么解决方案吗?

如果我使用append()函数,它将所有结果附加到一个数组中,但我不希望这样做,结果将是

i=[]     
for sigma2_n in np.arange(0.2,0.9):
    p_y_given_x= np.exp(-(y_new-alphabet[t])**2/2/sigma2_N)
    i.append(sigma2_N)

[p_y_given_x1,p_y_given_x2,p_y_given_x3,....]

1 个答案:

答案 0 :(得分:2)

您可以将不同的列表存储在字典中,并使用如下所示的键来标识每个列表:

d = {}
i = 0
for sigma2_n in np.arange(0.2,0.9):
    d['p_y_given_x'+str(i)] = np.exp(-(y_new-alphabet[t])**2/2/sigma2_N)
    i += 1