Typically, the order of an internal expression is never guaranteed. What happens in your case is that the interpreter first finds out what needs to be placed in the dictionary, and then finds out where it should be placed. From the point of view of the translator, this is a more optimal order.
- ( "" ), , . , , .
, , :
key = input('key')
a[key] = input('value')