Precedencia del operador de asignación de Python - (a, b) = a [b] = {}, 5

Vi este fragmento de Python enGorjeo y estaba bastante confundido por la salida:

>>> a, b = a[b] = {}, 5
>>> a
{5: ({...}, 5)}

¿Que esta pasando aqui?