aba*_*ter 10 python dictionary notation
Python似乎与dicts接受的密钥类型不一致.或者,换句话说,它允许某种类型的键以一种方式定义dicts,但不允许在其他方面:
>>> 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
Run Code Online (Sandbox Code Playgroud)
是{...}符号更根本,dict(...)只是语法糖吗?是因为Python根本没办法parse dict(1="one")吗?
我很好奇...
Fre*_*Foo 17
这不是一个dict问题,但Python语法的神器:关键字参数必须是有效的标识符,并且1与2不是.
如果要使用Python标识符规则之后不是字符串的任何内容作为键,请使用{}语法.在某些特殊情况下,构造函数关键字参数语法只是为了方便起见.