【问题标题】:Using nested for loops to assign function outputs to a nested dict使用嵌套的 for 循环将函数输出分配给嵌套的 dict
【发布时间】:2021-12-10 14:16:41
【问题描述】:

我有一个任意函数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': {}}}}                    

【问题讨论】:

  • 这个问题似乎与pandas 无关,所以我删除了标签。即使潜在的解决方案可能包含该库,但这并不意味着它需要包含在问题标签中。如果这个问题是关于某种 DataFrame 重新格式化或一般 Pandas 对象操作,请更新您的问题以包含这些元素并重新添加标签。

标签: python function dictionary for-loop


【解决方案1】:

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

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


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

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 2019-07-21
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多