Python SyntaxError con dict (1 =…), pero {1:…} funciona

Python parece tener una inconsistencia en el tipo de claves que aceptará para los dictados. O, dicho de otra manera, permite ciertos tipos de claves en una forma de definir los dictados, pero no en otras:

<code>>>> d = {1:"one",2:2}
>>> d[1]
'one'
>>> e = dict(1="one",2=2)
  File "<stdin>", line 1
  SyntaxError: keyword can't be an expression
</code>

Es el{...} notación más fundamental, ydict(...) sólo el azúcar sintáctico? Es porque simplemente no hay manera de que Pythonparse dict(1="one")?

Soy curioso...

Respuestas a la pregunta(4)

Su respuesta a la pregunta