I have a dictionary:
sequence = {
'group4': {'shutdown_grace': 300, 'startup_order': 4, 'warmup_time': 300, 'shutdown_order': 6, 'servers': ['group4_1', 'group4_2']},
'group1': {'shutdown_grace': 300, 'startup_order': 1, 'warmup_time': 900, 'shutdown_order': 10, 'servers': ['group1_1', 'group1_2', 'group1_3']},
'group3': {'shutdown_grace': 300, 'startup_order': 3, 'warmup_time': 900, 'shutdown_order': 7, 'servers': ['group3_1', 'group3_2']},
'group2': {'shutdown_grace': 300, 'startup_order': 2, 'warmup_time': 900, 'shutdown_order': 8, 'servers': ['group2_1', 'group2_2']}
}
I wanted to create a loop that will go through this list using a value in the sequence
dictionary (e.g. sequence['group4']['startup_order']
). How do I do this using sorted()
?
I tried using this:
for k, v in sorted(sequence.items(), key=sequence[k]['startup_order']):
print(k, v)
but it's throwing an error: UnboundLocalError: local variable 'k' referenced before assignment