将字典追加到嵌套的字典

时间:2020-04-24 10:17:29

标签: python dataframe dictionary for-loop

for iteration, i_parameter in enumerate(list_of_things):

   # Call Function_a()
   dict_DFResults = Function_a(i_parameter, matrix)

程序对 list_of_things 中的4个项目进行迭代。
Function_a返回具有3个DataFrames {0:DataFrame,1:DataFrame,2:DataFrame}的字典。
我想将每次迭代从函数返回的字典追加到新的嵌套字典( dict_things ),最后看起来像这样:
{0:{0:DF,1:DF,2:DF},1:{0:DF,1:DF,2:DF},2:{0:DF,1:DF,2:DF},3 :{0:DF,1:DF,2:DF}}

我尝试过...

dict_things = dict_DFResults.copy()
dict_things.update()

...但是我尝试的所有方法都无法正常工作。

2 个答案:

答案 0 :(得分:2)

.update设计用于可迭代的提要。一种可能的方式是提供dict,然后将dict_things中的键值更新为提供的dict中的对应值。那就是你可以做的:

dict_things = {}
for iteration, i_parameter in enumerate(list_of_things):
   dict_things.update({iteration: Function_a(i_parameter, matrix)})

以上示例仅用于说明如何使用dict.update-此任务可以使用dict-comprehension来完成,从而使代码更具可读性。

答案 1 :(得分:0)

dict_things = {}
for iteration, i_parameter in enumerate(list_of_things):
   dict_things[iteration] = Function_a(i_parameter, matrix)

或使用dict理解:

dict_things = { iteration: Function_a(i_parameter, matrix) for iteration, i_parameter in enumerate(list_of_things) }