这只是您建议的约定的一个小问题。最近,我看到很多人写的例子,dict(key1=val1, key2=val2)
而不是我认为更惯用的{"key1": val1, "key2": val2}
。我认为原因是为了避免使用""
钥匙,但我不确定。也许dict()
- 语法看起来更接近其他语言?
问问题
483 次
4 回答
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)
于 2012-06-14T10:41:34.897 回答
5
我将在这里逆流而上:
如果适合您,请使用该dict()
方法,但请记住其他答案中概述的限制。这种方法有一些优点:
- 在某些情况下看起来不那么杂乱
- 每个键值对少 3 个字符
- 在难以打字的键盘布局上
{
(此处为 AltGr-7 和 AltGr-0),打字速度更快}
于 2012-06-14T10:59:57.827 回答
2
当然,使用 {},保持代码简单和少输入始终是我的目标
于 2012-06-14T10:32:31.973 回答
1
大括号 { } 有一些歧义。考虑:
>>> x = {'one','two','three'}
>>> type(x)
<type 'set'>
>>> x = {}
>>> type(x)
<type 'dict'>
set()
而使用or没有歧义dict()
。
于 2012-06-14T12:32:38.117 回答