猿问

循环函数/

我希望函数以 j 的所有值执行,而不仅仅是最后一个:


for j in range(0, 10):

    barcode = np.zeros(length)

    noisyI = np.random.normal(0,9,length)

    area = 1.0 + 0.1*j

    res = HHmodel(noisyI,length,area)

现在我得到 j = 10 的值,因此对于 area = 1 + 1.0 * 10 的回报,而不是所有 j - 这将是为 j 开发一个“时间序列”并查看返回值有多少的问题函数根据区域改变行为 - 但正如我所说,我只得到最后一个 j 的值。


谢谢你一个BR


潇潇雨雨
浏览 124回答 2
2回答

红糖糍粑

在每次迭代中,变量的值都会发生变化,因此您只能获得 j = 10 的值。您可以将结果保存在字典列表中,以便为每次迭代保存所有变量的值:your_list = []for j in range(0, 10):    dict = {}    dict['j'] = j    barcode = np.zeros(length)    dict['barcode'] = barcode    noisyI = np.random.normal(0,9,length)    dict['noisyI'] = noisyI    area = 1.0 + 0.1*j    dict['area'] = area    res = HHmodel(noisyI,length,area)    dict['res'] = res    your_list.append(dict)print(your_list)

当年话下

将 res 附加到列表并返回列表。output = []for j in range(0, 10):    barcode = np.zeros(length)    noisyI = np.random.normal(0,9,length)    area = 1.0 + 0.1*j    res = HHmodel(noisyI,length,area)    output.append(res)
随时随地看视频慕课网APP

相关分类

Python
我要回答