I have multiple dictionaries as follows:
{
'Plant 1': {'min_cap': 100.0, 'max_cap': 2200.0,'Var_Cost': 0.75, 'Fix_Cost': 0.0029625000000000003},
'Plant 2': {'min_cap': 50.0, 'max_cap': 300.0, 'Var_Cost': 0.4, 'Fix_Cost': 0.00058},
'Plant 3': {'min_cap': 100.0, 'max_cap': 2500.0, 'Var_Cost': 1.83, 'Fix_Cost': -0.00178425},
'Plant 4': {'min_cap': 100.0, 'max_cap': 4000.0, 'Var_Cost': 2.74, 'Fix_Cost': 0.012124500000000002}
}
I now want to combine multiple of these dictionaries (same structure, different values) into one of higher dimension. so that the resulting dictionary than looks like this:
{
'Group 1':{'Plant 1': {'min_cap': 100.0, 'max_cap': 2200.0,'Var_Cost': 0.75, 'Fix_Cost': 0.0029625000000000003},
'Plant 2': {'min_cap': 50.0, 'max_cap': 300.0, 'Var_Cost': 0.4, 'Fix_Cost': 0.00058},
'Plant 3': {'min_cap': 100.0, 'max_cap': 2500.0, 'Var_Cost': 1.83, 'Fix_Cost': -0.00178425},
'Plant 4': {'min_cap': 100.0, 'max_cap': 4000.0, 'Var_Cost': 2.74, 'Fix_Cost': 0.012124500000000002}},
'Group 2':{'Plant 1': {'min_cap': 100.0, 'max_cap': 2200.0,'Var_Cost': 0.75, 'Fix_Cost': 0.0029625000000000003},
'Plant 2': {'min_cap': 50.0, 'max_cap': 300.0, 'Var_Cost': 0.4, 'Fix_Cost': 0.00058},
'Plant 3': {'min_cap': 100.0, 'max_cap': 2500.0, 'Var_Cost': 1.83, 'Fix_Cost': -0.00178425},
'Plant 4': {'min_cap': 100.0, 'max_cap': 4000.0, 'Var_Cost': 2.74, 'Fix_Cost': 0.012124500000000002}},
....
'Group N':{'Plant 1': {'min_cap': 100.0, 'max_cap': 2200.0,'Var_Cost': 0.75, 'Fix_Cost': 0.0029625000000000003},
'Plant 2': {'min_cap': 50.0, 'max_cap': 300.0, 'Var_Cost': 0.4, 'Fix_Cost': 0.00058},
'Plant 3': {'min_cap': 100.0, 'max_cap': 2500.0, 'Var_Cost': 1.83, 'Fix_Cost': -0.00178425},
'Plant 4': {'min_cap': 100.0, 'max_cap': 4000.0, 'Var_Cost': 2.74, 'Fix_Cost': 0.012124500000000002}}
}
I tried:
C = Group1,Group2
However that does not give me the name of each group in the above structure.
This is possible with an iteration (N
times) in a dictionary comprehension:
d = {'Plant 1': {'min_cap': 100.0, 'max_cap': 2200.0,'Var_Cost': 0.75, 'Fix_Cost': 0.0029625000000000003}, 'Plant 2': {'min_cap': 50.0, 'max_cap': 300.0, 'Var_Cost': 0.4, 'Fix_Cost': 0.00058}, 'Plant 3': {'min_cap': 100.0, 'max_cap': 2500.0, 'Var_Cost': 1.83, 'Fix_Cost': -0.00178425}, 'Plant 4': {'min_cap': 100.0, 'max_cap': 4000.0, 'Var_Cost': 2.74, 'Fix_Cost': 0.012124500000000002}}
N = 4 # N is 4 here as an example
groups = {f'Group {i}': d for i in range(1, N+1)}