这只是一个关于你建议的惯例的微不足道的问题。最近,我看到很多人写dict(key1=val1, key2=val2)
而不是我认为更惯用{"key1": val1, "key2": val2}
的例子。我认为原因是避免使用""
作为密钥,但我不确定。也许dict()
- 语法看起来更接近其他语言?
答案 0 :(得分: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)
答案 1 :(得分:5)
我要反对这里的流程:
如果适合您,请使用dict()
方法,但请记住其他答案中列出的限制。这种方法有一些优点:
{
和}
难以输入的键盘布局上(此处为AltGr-7和AltGr-0)输出更快答案 2 :(得分:2)
当然,使用{},保持代码简单&amp;少打字总是我的目标
答案 3 :(得分:1)
括号{}存在一些含糊之处。考虑:
>>> x = {'one','two','three'}
>>> type(x)
<type 'set'>
>>> x = {}
>>> type(x)
<type 'dict'>
使用set()
或dict()
时没有歧义。