在Python中迭代输入场景并将结果存储为嵌套数组

在Python中迭代输入场景并将结果存储为嵌套数组,python,loops,Python,Loops,我正在尝试使用一个循环为所有3个输入场景运行我的模型,而不必复制粘贴脚本3次并手动更改输入数据。我有3个输入数据数组,并希望将结果(也是相同长度的数组)存储在同一变量内的独立嵌套数组中。目前,我只知道如何附加结果。但是,这是不正确的,我希望将不同场景运行的结果存储在同一变量中的不同元素中 import numpy as np # Scenarios years = np.arange(50) sc0 = np.arange(50) sc1 = np.arange(50)+100 sc2 = np

我正在尝试使用一个循环为所有3个输入场景运行我的模型,而不必复制粘贴脚本3次并手动更改输入数据。我有3个输入数据数组,并希望将结果(也是相同长度的数组)存储在同一变量内的独立嵌套数组中。目前,我只知道如何附加结果。但是,这是不正确的,我希望将不同场景运行的结果存储在同一变量中的不同元素中

import numpy as np
# Scenarios
years = np.arange(50)
sc0 = np.arange(50)
sc1 = np.arange(50)+100
sc2 = np.arange(50)+200

scenarios = [sc0, sc1, sc2]

results = [] 

# Model computes something
for sc in range(3):
    for t in years:
        outcome = scenarios[sc][t] / 10
        results.append(outcome)

简而言之,解决方案应该允许我使用
结果[0]
结果[1]
、和
结果[2]
访问所有模型运行的结果。我已经创建了一个新列表,
子结果
,为每个场景创建了
[]
。然后,在为该场景计算每个结果之后,将其附加到列表
结果中

import numpy as np
# Scenarios
years = np.arange(50)
sc0 = np.arange(50)
sc1 = np.arange(50)+100
sc2 = np.arange(50)+200

scenarios = [sc0, sc1, sc2]

results = []

# Model computes something
for sc in range(3):
    subresults = [] 
    for t in years:
        outcome = scenarios[sc][t] / 10
        subresults.append(outcome)
    results.append(subresults)

然后使用
results[0]
results[1]
、和
results[2]
,理解也可以访问结果:

resultsets = [[sc[t]/10 for t in years] for sc in scenarios]

哦,我明白了。非常感谢。如果我没有错的话,您需要更改答案中的“resultssets”或“results.append”以使解决方案开箱即用。哎呀!现在修好了。是的,谢谢!实际模型要长一点,所以我的主管认为理解太难了。@Kevin好的,如果有人发现与你类似的问题,我会把它留在这里。