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

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

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

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

Мне интересно...

10
задан Joe Doyle 1 May 2012 в 00:14
поделиться