In short, it allows you to give names to the several variables that you need to access, extracting them from the structure they are in.
E.g.:
4/
So, what sort of thing can you use on the left of the `=` sign?
Naturally, you can use variable names, like in the example above...
But you can actually use anything that can be assigned to!
For example, specific list indices are assignable:
5/
But why stop here?
Dictionary keys can also be assigned to; that's the essence of dictionaries:
6/
Now we can understand how `{}[()]` works.
Can you see it already?
`{}` is an empty dictionary;
`[...]` accesses the dictionary with some key, and
`()` creates an empty tuple, which is a possible dictionary key.
If we replace `{}` with `d`, we can see what's happening:
7/
HOWEVER, if we use `{}` instead of `d`, then we create an βanonymousβ dictionary that is lost as soon as we get out of the loop β after all, the dictionary has no name.
Just that.
Some smoke and mirrors, looks cool, but no black magic π