Python SyntaxError с dict (1 =…), но {1:…} работает

У Python, похоже, есть несогласованность в том, какие ключи он принимает для диктовок. Или, другими словами, он разрешает определенные виды ключей в одном способе определения диктов, но не в других:

<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>

Это{...} запись более фундаментальная, иdict(...) просто синтаксический сахар? Это потому, что у Python просто нет возможностиparse dict(1="one")?

Мне любопытно ...

Ответы на вопрос(4)

Ваш ответ на вопрос