【问题标题】:Is there any way to store values of each iteration in for loop in new variable separately? [duplicate]有没有办法将每个迭代的值分别存储在新变量中的 for 循环中? [复制]
【发布时间】:2019-02-01 10:15:36
【问题描述】:

我想要做的是尝试在每一行中分别为不同的sigma2_n 获取不同的p_y_given_x 值?当我使用 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,....]

【问题讨论】:

  • 为什么你不想要一个列表?为什么p_y_given_x1p_y_given_x[0] 更受欢迎?
  • 你可以使用字典。
  • 是的对我来说没关系,在我的任务中,我应该将这些结果相互比较并得出一个结论,这就是为什么我需要单独使用它们,我该如何使用 dict 来做到这一点?

标签: python


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-11-17
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多