在使用字符串键构造字典时,我应该在Python中编写dict或{}吗?

Gur*_*geh 6 python coding-style

这只是一个关于你建议的约定的一个微不足道的问题.最近,我看到很多人写作的例子,dict(key1=val1, key2=val2)而不是我认为更惯用的人{"key1": val1, "key2": val2}.我认为原因是避免使用""钥匙,但我不确定.也许dict()-syntax看起来更接近其他语言?

Fre*_*Foo 8

{"key1": val1, "key2": val2}更惯用; 我几乎没有遇到dict关键字参数,我当然也没想过要写它.它也更通用,因为关键字参数必须是Python标识符:

>>> {"foo bar": 1}
{'foo bar': 1}
>>> dict(foo bar=1)
------------------------------------------------------------
   File "<ipython console>", line 1
     dict(foo bar=1)
                ^
SyntaxError: invalid syntax

>>> dict("foo bar"=1)
------------------------------------------------------------
   File "<ipython console>", line 1
SyntaxError: keyword can't be an expression (<ipython console>, line 1)
Run Code Online (Sandbox Code Playgroud)


Lau*_*low 5

我要反对这里的流程:

dict()如果它适合您,请使用该方法,但请记住其他答案中列出的限制.这种方法有一些优点:

  • 在某些情况下,它看起来不那么混乱
  • 每个键值对减少3个字符
  • 在键盘布局中{,}键入的位置很难(这里是AltGr-7和AltGr-0),输出速度更快