6

これは、あなたが提案する規則についての些細な質問です。最近、私がdict(key1=val1, key2=val2)より慣用的だと思うものではなく、人々が書いている例をたくさん見てき{"key1": val1, "key2": val2}ました。その理由は、キーに使用しないようにするためだと思います""が、よくわかりません。おそらくdict()-syntax は他の言語に近いのではないでしょうか?

4

4 に答える 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 に答える