首页 > 解决方案 > 使用嵌套的 for 循环将函数输出分配给嵌套的 dict

问题描述

我有一个任意函数func,我在对应于 run1、run2 和 run 3 的不同输入集上运行 3 次以生成 3 组不同的输出。我想将键、值对保存在嵌套字典中,理想情况下保存在嵌套字典结构中以保持一致性。

见下文。


func()

input1_1 = a
input1_2 = b
input1_3 = c

input2_1 = d
input2_2 = e
input2_3 = f

input3_1 = g
input3_2 = h
input3_3 = i

output1_1, output1_2, output1_3 = func(input1_1, input1_2, input1_3)
output2_1, output2_2, output2_3 = func(input2_1, input2_2, input2_3)
output3_1, output3_2, output3_3 = func(input3_1, input3_2, input3_3)

results = {"results": {}}

我正在尝试使我的最终输出如下所示:

{'results': {'run1': {'output1_1': {},
                      'output1_2': {},
                      'output1_3': {}},
            {'run2': {'output2_1': {},
                      'output2_2': {},
                      'output2_3': {}},
            {'run3': {'output3_1': {},
                      'output3_2': {},
                      'output3_3': {}}}}                    

标签: pythonfunctiondictionaryfor-loop

解决方案


您似乎对 Python 中的字典和循环缺乏基本的了解。

您想要的“最终输出”是不可能的。从下面的对象开始,并在循环中使用函数的输出填充它。祝你好运!


    results = {
        "run1": {"output1_1": {},"output1_2": {},"output1_3": {}},
        "run2": {"output1_1": {},"output1_2": {},"output1_3": {}},
        "run3": {"output1_1": {},"output1_2": {},"output1_3": {}}}


推荐阅读