So I have this dictionary:
{
'TEST_DEMON_2':
{'placement': '2',
'owner': 'Owner2',
'verifier': 'Verifier2',
'difficulty': 'Medium',
'level_id': '2'},
'TEST_DEMON_4':
{'placement': '4',
'owner': 'Owner4',
'verifier': 'Verifier4',
'difficulty': 'Medium',
'level_id': '4'},
'TEST_DEMON_3':
{'placement': '3',
'owner': 'Owner3',
'verifier': 'Verifier3',
'difficulty': 'Medium',
'level_id': '3'},
'TEST_DEMON_1':
{'placement': '1',
'owner': 'Owner1',
'verifier': 'Verifier1',
'difficulty': 'Easy',
'level_id': '1'}
}
And I have a function that add a dictionary inside it :
def add_demon(ctx, arg_name, arg_placement, arg_owner, arg_verifier, arg_difficulty, arg_level_id):
global DEMONS
DEMONS[arg_name] = {'placement':arg_placement,
'owner':arg_owner,
'verifier':arg_verifier,
'difficulty':arg_difficulty,
'level_id':arg_level_id}
As you can see, every dictionary adds to DEMONS
is the same type, with the same keys, etc... But the values are different.
And I want it so that everytime I call this function, the dictionaries inside the "DEMONS" dictionary sort themselves. Like :
Before the function is called :
{
'TEST_DEMON_2':
{'placement': '2',
'owner': 'Owner2',
'verifier': 'Verifier2',
'difficulty': 'Medium',
'level_id': '2'},
'TEST_DEMON_4':
{'placement': '4',
'owner': 'Owner4',
'verifier': 'Verifier4',
'difficulty': 'Medium',
'level_id': '4'},
'TEST_DEMON_3':
{'placement': '3',
'owner': 'Owner3',
'verifier': 'Verifier3',
'difficulty': 'Medium',
'level_id': '3'},
'TEST_DEMON_1':
{'placement': '1',
'owner': 'Owner1',
'verifier': 'Verifier1',
'difficulty': 'Easy',
'level_id': '1'}
}
After the function was called
{
'TEST_DEMON_1':
{'placement': '1',
'owner': 'Owner1',
'verifier': 'Verifier1',
'difficulty': 'Easy',
'level_id': '1'},
'TEST_DEMON_2':
{'placement': '2',
'owner': 'Owner2',
'verifier': 'Verifier2',
'difficulty': 'Medium',
'level_id': '2'},
'TEST_DEMON_3':
{'placement': '3',
'owner': 'Owner3',
'verifier': 'Verifier3',
'difficulty': 'Medium',
'level_id': '3'},
'TEST_DEMON_4':
{'placement': '4',
'owner': 'Owner4',
'verifier': 'Verifier4',
'difficulty': 'Medium',
'level_id': '4'}
}
I want the function to sort every dictionary from 1 to "Infinity", based on their "placement" attribute. So every time I call the function, the first object inside "DEMONS", has the placement attribute set to 1, the second object inside "DEMONS" has the placement attribute set to 2, etc...
I don't know if it's possible, but if it is it would really help me.
Thanks
(If you need me to explain it more, ask me :D )